UI如何修改NSString字体大小

UI如何修改NSString字体大小,第1张

首先要修改字符串的话,使用NSMutableString,然后你有这些方法可以使用: – appendFormat: – appendString: – deleteCharactersInRange: – insertString:atIndex: – replaceCharactersInRange:withString: – replaceOccurrencesOfString:withSt

设置title样式

UINavgationBar提供了titleTextAttributes 属性来简单的设置其title样式,titleTextAttributes是一个NSDictionary类型,包含的固定的属性名称,可以用来设置title的样式,指定的属性keys

声明于NSString UIKit Additions Reference扩展中,包括:

NSString *constUITextAttributeFont,设置title的文字字体;

NSString*constUITextAttributeTextColor,设置title的文字颜色

NSString*constUITextAttributeTextShadowColor,设置titlewz的阴影颜色;

NSString*constUITextAttributeTextShadowOffset,设置titlewz阴影的平移量 ;

如,设置title样式为:系统默认bold类型20号红色字体,阴影颜色为白色,右下偏移2像素

NSDictionary *navTitleArr =[NSDictionary dictionaryWithObjectsAndKeys:

[UIFont boldSystemFontOfSize:20],UITextAttributeFont,

[UIColor redColor],UITextAttributeTextColor ,[NSValue valueWithCGSize:CGSizeMake(2.0,2.0)] , UITextAttributeTextShadowOffset,[UIColor whiteColor] ,UITextAttributeTextShadowColor ,nil][navBar setTitleTextAttributes:navTitleArr]

segmentcontrol的颜色字体

/改变segment的字体大小和颜色

NSDictionary*dic = [NSDictionarydictionaryWithObjectsAndKeys:[UIColorblackColor],UITextAttributeTextColor,[UIFontfontWithName:@"AppleGothic"size:14],UITextAttributeFont,nil]

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor],NSForegroundColorAttributeName, nil]

//设置各种状态的字体和颜色

[self.segmentedControlsetTitleTextAttributes:dicforState:UIControlStateNormal]

在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求。之前在网上找了一些资料,有的是重绘UILabel的textLayer,有的是用html5实现的,都比较麻烦,而且很多UILabel的属性也不起作用了,效果都不理想。后来了解到NSMuttableAttstring(带属性的字符串),上面的一些需求都可以很简便的实现。

-(id)initWithString:(NSString *)str attributes:(NSDictionary *)attrs

字典中存放一些属性名和属性值,如:

NSDictionary *attributeDict = [NSDictionarydictionaryWithObjectsAndKeys:

[UIFontsystemFontOfSize:15.0],NSFontAttributeName,

[UIColorredColor],NSForegroundColorAttributeName,

NSUnderlineStyleAttributeName,NSUnderlineStyleSingle,nil]

NSMutableAttributedString *AttributedStr = [[NSMutableAttributedStringalloc]initWithString:@"今天天气不错呀" attributes:attributeDict]

-(id)initWithAttributedString:(NSAttributedString *)attester

使用NSAttributedString初始化,跟NSMutableString,NSString类似

使用方法:

为某一范围内文字设置多个属性

-(void)setAttributes:(NSDictionary *)attrs range:(NSRange)range

为某一范围内文字添加某个属性

-(void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range

为某一范围内文字添加多个属性

-(void)addAttributes:(NSDictionary *)attrs range:(NSRange)range

移除某范围内的某个属性

-(void)removeAttribute:(NSString *)name range:(NSRange)range

运行效果:

另外,其他可以设置text 的控件(如UIButton,UITextField)也都有该属性,该文章不够详细,只是简单介绍,其他效果的实现参考API中更多的属性及使用方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11300417.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存