UILabel的使用

创建项目

创建一个单视图项目,如下布局:
这里写图片描述
五个VIEW,五等份屏幕宽度,高度为120。五个UI Label,大小同view。

设置UI Label文字

- (void)viewDidLoad {
    [super viewDidLoad];
    NSString *text = @"话说天下大势,分久必合,合久必分:周末七国分争,并入于秦;及秦灭之后,楚、汉分争,又并入于汉;汉朝自高祖斩白蛇而起义,一统天下,后来光武中兴,传至献帝,遂分为三国。推其致乱之由,殆始于桓、灵二帝。桓帝禁锢善类,崇信宦官。及桓帝崩,灵帝即位,大将军窦武、太傅陈蕃共相辅佐。时有宦官曹节等弄权,窦武、陈蕃谋诛之,机事不密,反为所害。中涓自此愈横。";
    self.lab1.text = text;
    self.lab2.text = text;
    self.lab3.text = text;
    self.lab4.text = text;
    self.lab5.text = text;
}

效果:
这里写图片描述

这里除了文字,没有做任何设置。

多行文字显示

多行文字显示的关键属性:

@property(nonatomic) NSInteger numberOfLines;
@property(nonatomic) NSLineBreakMode  lineBreakMode;

具体代码:

    self.lab1.numberOfLines = 0;
    self.lab2.numberOfLines = 0;
    self.lab3.numberOfLines = 0;
    self.lab4.numberOfLines = 0;
    self.lab5.numberOfLines = 0;
    self.lab6.numberOfLines = 0;

    self.lab1.lineBreakMode = NSLineBreakByWordWrapping;
    self.lab2.lineBreakMode = NSLineBreakByCharWrapping;
    self.lab3.lineBreakMode = NSLineBreakByClipping;
    self.lab4.lineBreakMode = NSLineBreakByTruncatingHead;
    self.lab5.lineBreakMode = NSLineBreakByTruncatingTail;
    self.lab6.lineBreakMode = NSLineBreakByTruncatingMiddle;

self.lab1.textColor = [UIColor blueColor];
self.lab2.textColor = [UIColor blueColor];
self.lab3.textColor = [UIColor blueColor];
self.lab4.textColor = [UIColor blueColor];
self.lab5.textColor = [UIColor blueColor];
self.lab6.textColor = [UIColor blueColor];

self.lab1.font = [UIFont systemFontOfSize:14];
self.lab2.font = [UIFont systemFontOfSize:14];
self.lab3.font = [UIFont systemFontOfSize:14];
self.lab4.font = [UIFont systemFontOfSize:14];
self.lab5.font = [UIFont systemFontOfSize:14];
self.lab6.font = [UIFont systemFontOfSize:14];

numberOfLines属性为多行文字显示的最关键属性,必须设置为0,才能进行多行显示。
lineBreakMode属性则负责文字过多,label内无法完全显示时候的不同处理。共有六种不同的取值,如下:

// NSParagraphStyle
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);

下图中,前六个label分别使用了六种不同的值。
这里写图片描述

Label添加边框

self.lab7.layer.borderColor = [[UIColor redColor] CGColor];
self.lab7.layer.borderWidth = 2;

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值