一直想写iPhone开发的文章,苦于没有时间,只能断断续续的更新了。语言方面就不讲了,先从UILabel说起吧。 UILabel在iPhone开发中我们经常使用,用来展示文本内容。下面具体说一下UILabel的方法。
一.设置UILabel的背景颜色,文字颜色
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, 30, 280, 100)];
// 设置背景颜色
[label setBackgroundColor:[UIColor clearColor]];
// 设置字体
[label setFont:[UIFont boldSystemFontOfSize:14.0f]];
// 设置文字颜色
[label setTextColor:[UIColor redColor]];
// 设置文本内容
label.text = @"我大大大s大ssds大鞑靼s大大s大事鞑靼s大事大鞑靼s大大大阿大大大大大大的啊哒哒哒哒哒阿大阿大s达到啊大地啊哒哒哒大大dada";
[self.view addSubview:label];
UILabel的默认为单行展示,即使你设置的UILabel的高度足够大。
如果UILabel要展示的文本内容很大,我们应该让UILabel进行自动折行展示,要让UILabel具有该功能,我们可以通过一下代码来实现
[label setLineBreakMode:NSLineBreakByWordWrapping];
// 设置为0,UILabel会自动折行展示文本内容,直到达到UILabel的最大高度值
label.numberOfLines = 0;
假如文本内容非常大,如果采用上述方法,再达到UILabel的最大高度时,后面的内容就不再显示。要解决这一问题,我们可以使用NSString中的sizeWithFont方法,大家可以研究一下该函数有三种“重载”函数。
CGSize labelSize = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(280, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
// CGSizeMake(280, MAXFLOAT) 这个Size的意思就是指定宽度。当每行的宽度达到280时,自动折行,MAXFLOAT的意思就是取最大高度,直到内容展示完全。
通过这个方法就可以获取UILabel的实际大小。
今天就写这么多吧,改天继续更新。