UILabel的使用

来源:互联网 发布:宝宝学早教软件下载 编辑:程序博客网 时间:2024/05/29 19:17

创建项目

创建一个单视图项目,如下布局:
这里写图片描述
五个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内无法完全显示时候的不同处理。共有六种不同的取值,如下:

// NSParagraphStyletypedef 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;

这里写图片描述

0 0