美文网首页
iOS - UILabel

iOS - UILabel

作者: 李小六_ | 来源:发表于2016-03-20 00:07 被阅读215次
    UILabel变量
    1. Text Attributes
    @property(nullable, nonatomic,copy)   NSString           *text;            // default is nil   
     // 显示的文本
    @property(null_resettable, nonatomic,strong) UIFont      *font;            // default is nil (system font 17 plain)
    // 要显示文本的字体大小, 默认17points
    @property(nonatomic, copy) NSAttributedString *attributedText  
    // 设置富文本 来代替 text
    @property(nonatomic, strong) UIColor *textColor
    // 文本的字体颜色, 若设置了attributedText的字体颜色,则会替代掉textColor 
    @property(nonatomic) NSTextAlignment textAlignment
    // 字体的对齐方式, 
    

    typedef enum NSTextAlignment : NSUInteger {
    NSTextAlignmentLeft = 0, // 居左对齐
    NSTextAlignmentCenter = 1, // 居中对齐
    NSTextAlignmentRight = 2, // 居右对齐
    NSTextAlignmentJustified = 3, // 保证文本的最后是自然对齐
    NSTextAlignmentNatural = 4, // 对齐方式遵循app设置
    } NSTextAlignment;

    @property(nonatomic)        NSLineBreakMode    lineBreakMode;   // default is NSLineBreakByTruncatingTail. used for single and multiple lines of text  
    //  文本的截断方式,默认是 NSLineBreakByTruncatingTail , 当你设置styled text时候, 会代替掉这个方式
    

    typedef NS_ENUM(NSInteger, NSLineBreakMode) {
    NSLineBreakByWordWrapping = 0, // Wrap at word boundaries, default
    NSLineBreakByCharWrapping, // Wrap at character boundaries
    NSLineBreakByClipping, // Simply clip
    NSLineBreakByTruncatingHead, // Truncate at head of line: "...wxyz"
    NSLineBreakByTruncatingTail, // Truncate at tail of line: "abcd..."
    NSLineBreakByTruncatingMiddle // Truncate middle of line: "ab...yz"
    } NS_ENUM_AVAILABLE(10_0, 6_0);

    @property(nonatomic, getter=isEnabled) BOOL enabled  // 这个属性决定了这个label是如何绘制, disabled 表示变暗,处于不活跃状态。默认是yes
    
    2. Sizing the Label’s Text
    @property(nonatomic) BOOL adjustsFontSizeToFitWidth
    // 一般情况下label 的text 会根据你设置的font来绘制,如果你把adjustsFontSizeToFitWidth属性设置为yes, 则label会根据label的bounds和文本的长度来设置字体的大小以适应label的大小,直到你设置的minimum font size。
    
    @property(nonatomic) UIBaselineAdjustment baselineAdjustment 
     // 当adjustsFontSizeToFitWidth为yes时,字体变动,baselineAdjustment 设置也随之变动,默认是UIBaselineAdjustmentAlignBaselines. 其作用仅仅是在 numberOfLines属性设置为0的时候。
    @property(nonatomic) CGFloat minimumScaleFactor
     // 最小字体尺寸
    @property(nonatomic) NSInteger numberOfLines
    // 最大文本的行数, 默认是1, 若设置成0则默认无限制行数。
    
    3.  Highlight Values
    @property(nonatomic, strong) UIColor *highlightedTextColor
    //当highlighted设置为yes 的时候, 会显示这个高亮色。
    @property(nonatomic, getter=isHighlighted) BOOL highlighted
    // 是否是高亮状态默认是 NO;
    
    4. Drawing a Shadow
    @property(nonatomic, strong) UIColor *shadowColor
    // 默认的阴影的颜色。默认是nil,如果你不想用默认的shadow,你需要改变shadowOffset这个属性,
    @property(nonatomic) CGSize shadowOffset
    // 阴影偏移, 默认是(0, -1)
    
    5. Getting the Layout Constraints
    @property(nonatomic) CGFloat preferredMaxLayoutWidth
    // 当布局约束应用于它时,这个属性影响label的size。在布局中,如果文本超出这个preferredMaxLayoutWidth指定的宽度,多余的文本则会换行,从而增加标签的高度。
    
    6. Setting and Getting Attributes
    @property(nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled
    // 默认时no, 表示无法交互。
    @property(nonatomic) BOOL clipsToBounds
    // 确定子视图的范围仅限于视图。默认是yes
    
    7. Drawing and Positioning Overrides
    - (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines
     // 该方法只能被子类覆盖,
     // bounds:The bounding rectangle of the receiver.
     // numberOfLines : The maximum number of lines to use for the label. The value 0 indicates there is no maximum number of lines and that the rectangle should encompass all of the text.
    
    - (void)drawTextInRect:(CGRect)rect
    // 绘制text区域, 你不应该直接调用这个方法,这种方法只能被子类覆盖。在你的覆盖方法,你可以配置当前上下文, 然后调用super或你自己进行操作。如果你自己渲染文本,你不应该super方法;
    

    相关文章

      网友评论

          本文标题:iOS - UILabel

          本文链接:https://www.haomeiwen.com/subject/jryhlttx.html