UIlabel以及其UIfont
由于label主要就是展示文字的一个视图,所以这里边就顺便的将字体也给总结了
初始化一个UILabel对象,并初始化大小
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
设置显示的文字
label.text=@"hello canfeng";
@property(nonatomic,retain) UIFont*font;
// NSString *const UIFontTextStyleHeadline; 用于标题的风格 // NSString *const UIFontTextStyleSubheadline;用于副标题的风格 // NSString *const UIFontTextStyleBody;用于正文的字体 // NSString *const UIFontTextStyleFootnote;用于脚注的字体 // NSString *const UIFontTextStyleCaption1;用于标准字幕字体 // NSString *const UIFontTextStyleCaption2;用于替换字幕字体 label.font=[UIFont preferredFontForTextStyle:UIFontTextStyleCaption2]; //设置字体和字体大小 + (UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize; //返回所有字体的字体家族名称数组 + (NSArray *)familyNames; //按字体家族名称返回字体名称数组 + (NSArray *)fontNamesForFamilyName:(NSString *)familyName; //设置普通字体字号大小 + (UIFont *)systemFontOfSize:(CGFloat)fontSize; //设置加粗字体字号大小 + (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize; //设置斜体字号大小 + (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize; //一些只读属性 //字体家族名称 @property(nonatomic,readonly,retain) NSString *familyName; //字体名称 @property(nonatomic,readonly,retain) NSString *fontName; //字号大小 @property(nonatomic,readonly) CGFloat pointSize; //字体设计模型,表示距离最高点偏移余量 @property(nonatomic,readonly) CGFloat ascender; //底部的模型偏移量 @property(nonatomic,readonly) CGFloat descender; //字体模型的头高信息 @property(nonatomic,readonly) CGFloat capHeight; //字体模型的xHeight信息 @property(nonatomic,readonly) CGFloat xHeight; //字体行高 @property(nonatomic,readonly) CGFloat lineHeight NS_AVAILABLE_IOS(4_0); //模型主体信息 @property(nonatomic,readonly) CGFloat leading; //创建一个新字体与当前字体相同,除了指定的大小 - (UIFont *)fontWithSize:(CGFloat)fontSize; //通过描述信息返回字体 7.0后可用 + (UIFont *)fontWithDescriptor:(UIFontDescriptor *)descriptor size:(CGFloat)pointSize NS_AVAILABLE_IOS(7_0); //返回字体的描述信息,7.0后可用 - (UIFontDescriptor *)fontDescriptor NS_AVAILABLE_IOS(7_0);
设置字体颜色
label.textColor=[UIColor redColor];
设置阴影偏移量
label.shadowOffset=CGSizeMake(20, 20);
设置阴影颜色
label.shadowColor=[UIColor blackColor];
设置对齐模式//注意对齐方式是枚举类型可点击进入查看相应地模式
label.textAlignment=NSTextAlignmentJustified;
enum { //沿左边沿对齐文本 NSTextAlignmentLeft = 0, //中心对齐 NSTextAlignmentCenter = 1, //右边沿对齐 NSTextAlignmentRight = 2, //最后一行自然对齐 NSTextAlignmentJustified = 3, //默认对齐 NSTextAlignmentNatural = 4,};typedef NSInteger NSTextAlignment;
多行文本设置
label.lineBreakMode=NSLineBreakByCharWrapping;
enum { //文本边缘处理 NSLineBreakByWordWrapping = 0, //提前处理不合适的字符 NSLineBreakByCharWrapping, //简单线性处理 NSLineBreakByClipping, //丢失的开头用省略号表示 NSLineBreakByTruncatingHead, //丢失的文本在末尾显示省略号 NSLineBreakByTruncatingTail, //丢失的文本在中间显示省略号 NSLineBreakByTruncatingMiddle };typedef NSUInteger NSLineBreakMode
设置高亮的字体颜色
label.highlightedTextColor=[UIColor blueColor];
//设置是否高亮
label.highlighted=YES;
用户交互 默认关闭
label.userInteractionEnabled=NO;
是否有效,默认是YES,无效为灰色
label.enabled=NO;
显示的行数,0为无限
@property(nonatomic) NSInteger numberOfLines;
宽度自适应大小 默认是NO
@property(nonatomic) BOOL adjustsFontSizeToFitWidth;
字符适应宽度:不赞成使用
@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth
最小适应大小2.0-6.0
@property(nonatomic) CGFloat minimumFontSize
最小适应大小 6.0 之后
@property(nonatomic) CGFloat minimumScaleFactor
垂直方向的调整
@property(nonatomic) UIBaselineAdjustment baselineAdjustment;
返回文本绘制矩形
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines;
文本绘制函数
- (void)drawTextInRect:(CGRect)rect
文本自动布局参数
@property(nonatomic) CGFloat preferredMaxLayoutWidth