UILabel常用属性
2018-11-06 本文已影响0人
cgfloat
父类
UILabel 继承自 UIView, 遵守 <NSCoding, UIContentSizeCategoryAdjusting>
两个协议
属性
/** Label 文字内容, 默认为 nil */
@property(nullable, nonatomic,copy) NSString *text;
/** Label 文字大小, 默认为 17 */
@property(null_resettable, nonatomic,strong) UIFont *font;
/** Label 文字颜色, 默认为 黑色 */
@property(null_resettable, nonatomic,strong) UIColor *textColor;
/** Label 阴影颜色, 默认为 nil */
@property(nullable, nonatomic,strong) UIColor *shadowColor;
/** Label 阴影大小, 默认为 (0, -1) */
@property(nonatomic) CGSize shadowOffset;
/**
Label 文字对其方式, 默认为 NSTextAlignmentLeft(左对齐)
NSTextAlignment 枚举值:
NSTextAlignmentLeft 左对齐
NSTextAlignmentCenter 居中对齐
NSTextAlignmentRight 右对齐
NSTextAlignmentJustified 段落最后一行自然对齐对齐
NSTextAlignmentNatural 脚本默认对齐方式
*/
@property(nonatomic) NSTextAlignment textAlignment;
/**
Label 文字换行方式, 默认为 NSLineBreakByTruncatingTail(文字末尾加...)
NSLineBreakMode 枚举值
NSLineBreakByWordWrapping 保持单词完整性换行
NSLineBreakByCharWrapping 按照字母换行
NSLineBreakByClipping 裁剪边界
NSLineBreakByTruncatingHead 最后一行前端隐藏
NSLineBreakByTruncatingTail 最后一行后端隐藏
NSLineBreakByTruncatingMiddle 最后一行中间隐藏
*/
@property(nonatomic) NSLineBreakMode lineBreakMode;
/** Label 富文本文字, 默认为 nil */
@property(nullable, nonatomic,copy) NSAttributedString *attributedText NS_AVAILABLE_IOS(6_0);
/** Label 文字高亮状态颜色, 用于其子类, 默认为 nil */
@property(nullable, nonatomic,strong) UIColor *highlightedTextColor;
/** Label 文字高亮状态开关, 默认为 NO */
@property(nonatomic,getter=isHighlighted) BOOL highlighted;
/** Label 用户交互开关, 默认为 NO */
@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;
/** Label 可用状态开关, 默认为 YES */
@property(nonatomic,getter=isEnabled) BOOL enabled;
/** Label 显示行数, 默认为 1, 设置为 0 是无限行 */
@property(nonatomic) NSInteger numberOfLines;
/** 控件缩放相关属性 */
@property(nonatomic) BOOL adjustsFontSizeToFitWidth; // default is NO
@property(nonatomic) UIBaselineAdjustment baselineAdjustment; // default is UIBaselineAdjustmentAlignBaselines
@property(nonatomic) CGFloat minimumScaleFactor NS_AVAILABLE_IOS(6_0); // default is 0.0
/** 是否将宽于可用空间行的文字间距收紧, 默认为 NO */
@property(nonatomic) BOOL allowsDefaultTighteningForTruncation NS_AVAILABLE_IOS(9_0);
/** 覆盖绘制, 可在调用 super 之间调整 rect. label默认内容模式为UIViewContentModeRedraw */
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines;
- (void)drawTextInRect:(CGRect)rect;
/**
用于自动布局
如果非零,则在为多行标签确定-intrinsicContentSize时使用此方法
*/
@property(nonatomic) CGFloat preferredMaxLayoutWidth NS_AVAILABLE_IOS(6_0);
常用方法
与父类 UIVIew 相同