天天看点

ios开发UI篇--UILabel

概述

  • UILabel

    类实现了一个只读文本视图。你可以使用这个类来画一个或多个静态文本.

    UILabel

    类支持既简单又复杂的样式标签文本,还可以控制外观,比如标签是否使用了一个影子或者处于高亮状态等等.
  • UILabel

    类继承自

    UIView

属性

创建

UILabel

对象

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(           

设置显示文字,默认是空的

label.text = @"测试";
           

设置字体(系统默认字体是16号字体)

设置字体颜色(默认是黑色)

label.textColor = [UIColor redColor];
           

设置对齐方式(在iOS 9之后,此属性的默认值是 NStextalignmentnatural;之前的iOS 9,默认值为nstextalignmentleft。)

居左 NSTextAlignmentLeft
居中 NSTextAlignmentCenter
居右 NSTextAlignmentRight
label.textAlignment = NSTextAlignmentCenter; 
           

设置换行模式

以一个单词为单位换行,最后一行显示不全内容以单词截断,后面直接不显示 NSLineBreakByWordWrapping
以字符换行 NSLineBreakByCharWrapping
以一个单词为单位换行,最后一行显示不全的内容,在label的最后直接截断,后面直接不显示 NSLineBreakByClipping
显示不全;最后一行将最后的内容显示,前面使用...代替 例:Truncate at head of line: "...wxyasdasdz" NSLineBreakByTruncatingHead 显示不全;最后一行将前面的内容显示,最后使用...代替 例:Truncate at tail of line: "abcd..." NSLineBreakByTruncatingTail 显示不全;最后一行将前面的内容显示和最后的内容显示,中间使用...代替 NSLineBreakByTruncatingMiddle label.lineBreakMode = NSLineBreakByWordWrapping; 
           

设置阴影颜色

label.shadowColor = [UIColor greenColor];
           

设置阴影的偏移量,默认是 CGSizeMake(0, -1) --

a top shadow

label.shadowOffset = CGSizeMake(           

设置行数(当文本需要自适应时,需将行数设置为0)

label.numberOfLines = 0;
           

adjustsFontSizeToFitWidth 

根据宽度调整

font

,默认为

NO

label.adjustsFontSizeToFitWidth = YES;
           

attributedText 

属性文本,这里不多做介绍,具体请点此查看

高亮属性

设置是否处于高亮状态

[label setHighlighted:YES];
           

设置高亮状态字体的颜色

label.highlightedTextColor = [UIColor blueColor];
           

设置能否进行用户交互(默认为

NO

)

label.userInteractionEnabled = YES;
           

此属性只决定如何绘制标签。禁用的文本有些模糊,表示它不活跃。默认情况下,此属性被设置为yes。

label.enabled = NO;
           

自适应

default is NO

设置字体大小适应

label

宽度

label.adjustsFontSizeToFitWidth = YES;
           

default is UIBaselineAdjustmentAlignBaselines

//如果

adjustsFontSizeToFitWidth

属性设置为

YES

,这个属性就来控制文本基线的行为

label.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;

           

项目中

label

自适应高度代码

+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont *)font
{
    
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, 0)];
    label.text = title;
    label.font = font;
    label.numberOfLines = 0;
    [label sizeToFit];
    CGFloat height = label.frame.size.height;
    return height;
}      

项目中

label

自适应宽度的代码

+ (CGFloat)getWidthWithTitle:(NSString *)title font:(UIFont *)font {
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 1000, 0)];
    label.text = title;
    label.font = font;
    [label sizeToFit];
    return label.frame.size.width;
}      

作者: coder小鹏

转载于:https://www.cnblogs.com/jiuyi/p/10481157.html