UILabel
的父类是UIView
-
label
的文字。默认是nil
@property(nonatomic,copy) NSString *text; -
label
的字体。默认是nil
(系统17号字体)
@property(nonatomic,retain) UIFont *font; -
label
的文字颜色。默认是nil
(黑色)
@property(nonatomic,retain) UIColor *textColor; -
label
的文字阴影颜色。默认是nil
(没有阴影)
@property(nonatomic,retain) UIColor *shadowColor; -
label
的文字阴影偏移量。默认是(0, -1)
(阴影在上面)
@property(nonatomic) CGSize shadowOffset; -
label
的文字对齐方式。默认是左对齐
@property(nonatomic) NSTextAlignment textAlignment; -
label
的文字换行模式。默认是NSLineBreakByTruncatingTail
@property(nonatomic) NSLineBreakMode lineBreakMode;
换行方式
typedef NS_ENUM(NSInteger, NSLineBreakMode) {
NSLineBreakByWordWrapping = 0, 以单词为显示单位显示,后面部分省略不显示。
NSLineBreakByCharWrapping, 以字符为显示单位显示,后面部分省略不显示。
NSLineBreakByClipping, 剪切与文本宽度相同的内容长度,后半部分被删除。
NSLineBreakByTruncatingHead, 以单词为单位换行。如果是单行,则开始部分有省略号。如果是多行,则中间有省略号,省略号后面有4个字符。
NSLineBreakByTruncatingTail, 以单词为单位换行。无论是单行还是多行,都是末尾有省略号。
NSLineBreakByTruncatingMiddle 以单词为单位换行。无论是单行还是多行,都是中间有省略号,省略号后面只有2个字符。
} NS_ENUM_AVAILABLE_IOS(6_0); -
label
的富文本,参考UILabel富文本。
@property(nonatomic,copy) NSAttributedString *attributedText; -
label
的文字高亮颜色。默认是nil
@property(nonatomic,retain) UIColor *highlightedTextColor; -
label
是否高亮,默认是NO
@property(nonatomic,getter=isHighlighted) BOOL highlighted; - 用户交互,默认是
NO
,如果有touch
事件,需要打开
@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; -
label
的文字是否可变。默认值是YES
,将它设置为NO
将会使文本变暗,表示它没有激活,这时向它设置颜色值是无效的。
@property(nonatomic,getter=isEnabled) BOOL enabled; -
label
的行数。默认是1
,多行显示的时候需要设置为数字或0
(不限制行数)。
@property(nonatomic) NSInteger numberOfLines; -
label
的字体大小适应label
宽度。默认是NO
@property(nonatomic) BOOL adjustsFontSizeToFitWidth; -
label
的字符间距适应label
的宽度。在7.0已废弃
@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth NS_DEPRECATED_IOS(6_0,7_0); - 最小字体大小,当字体小于这个最小值时无效,显示此属性值。默认是
0.0
,在6.0已废弃,用minimumScaleFactor
@property(nonatomic) CGFloat minimumFontSize NS_DEPRECATED_IOS(2_0, 6_0); - 控制文本的基线位置,只有文本行数为
1
时有效,默认文本最上端于label
中线对齐
@property(nonatomic) UIBaselineAdjustment baselineAdjustment;
基线位置
typedef NS_ENUM(NSInteger, UIBaselineAdjustment) {
UIBaselineAdjustmentAlignBaselines = 0, 默认值文本最上端于label中线对齐
UIBaselineAdjustmentAlignCenters, 文本中线于label中线对齐
UIBaselineAdjustmentNone, 文本最低端与label中线对齐
}; - 最小字体大小,当字体小于这个最小值时无效,显示此属性值。默认是
0.0
,6.0之前用minimumFontSize
@property(nonatomic) CGFloat minimumScaleFactor NS_AVAILABLE_IOS(6_0); - 用来改变
label
里面文字展示窗口的大小,你可以自己根据文字的多少,来计算窗口的大小
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines; - 绘制
text
到指定区域。需要重写此方法,然后由子类调用,重写时调用super
可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super
了。
- (void)drawTextInRect:(CGRect)rect; - 首选的最大宽度。自动布局用到的,在布局过程中,如果文本超出指定宽度的属性,
label
高度增加。
@property(nonatomic) CGFloat preferredMaxLayoutWidth NS_AVAILABLE_IOS(6_0);