iOS组件之UILabel详解
引言
UILabel类实现了一个只读的文本视图,它继承于UIView(有关UIControl请参照《iOS组件之UIView详解》)。你可以使用这个类来绘制一个或多个行的静态文本,如你可能会用它来识别你的用户界面的其他部分。该基地的UILabel类提供了既简单又复杂的标签文本的样式支持。您还可以控制在外观方面,如标签是否使用阴影或画一个亮点。如果需要,您还可以通过创建子类自定义您的文本的外观。
目录
- 1、属性
- 2、方法
1、属性
// UILabel显示内容
NSString *text;
// 文字字体(默认为系统字体,大小17)
UIFont *font;
// 字体颜色
UIColor *textColor;
// 阴影颜色(默认没有阴影)
UIColor *shadowColor;
// 阴影大小(默认为(0,-1))
CGSize shadowOffset;
// 文字对齐模式(默认是居左)
NSTextAlignment textAlignment;
// 设置单词折行方式(默认NSLineBreakByTruncatingTail)
NSLineBreakMode lineBreakMode;
// 文字显示属性(iOS6.0)
NSAttributedString *attributedText;
// 文字高亮时的颜色
UIColor *highlightedTextColor;
// 是否支持高亮(默认为NO)
BOOL highlighted; // default is NO
// 是否允许接收触摸事件(默认为NO)
BOOL userInteractionEnabled; // default is NO
// 文本是否可变(默认YES)
BOOL enabled; // default is YES. changes how the label is drawn
// 设置label可以显示多少行(0表示多行,默认为1)
NSInteger numberOfLines;
// 文本文字是否自适应大小(默认为NO)
BOOL adjustsFontSizeToFitWidth; // default is NO
//
BOOL adjustsLetterSpacingToFitWidth NS_DEPRECATED_IOS(6_0,7_0); // deprecated - hand tune by using NSKernAttributeName to affect tracking
// 最小字体,行数为1时有效(默认为0.0 iOS2.0 – iOS6.0)
CGFloat minimumFontSize;
// 控制文本的基线位置,只有文本行数为1是有效(默认为UIBaselineAdjustmentAlignBaselines)
UIBaselineAdjustment baselineAdjustment;
//有三种方式
typedef enum {
UIBaselineAdjustmentAlignBaselines = 0, 默认值文本最上端于label中线对齐
UIBaselineAdjustmentAlignCenters,//文本中线于label中线对齐
UIBaselineAdjustmentNone,//文本最低端与label中线对齐
} UIBaselineAdjustment;
// 设置最小字体,与minimumFontSize相同(iOS6.0)
CGFloat minimumScaleFactor;
// 优先选择标签布局的最大宽度(iOS 6.0)
CGFloat preferredMaxLayoutWidth;
2、方法
// 不可直接调用,需要子类重载,第二参数为0时没有行数限制
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines;
// 不可直接调用,需要子类重载
- (void)drawTextInRect:(CGRect)rect;