iOS开发笔记--详解UILabel的相关属性设置

2020-01-18 16:59:29刘景俊

在iOS编程中UILabel是一个常用的控件,下面分享一下UILabel的相关属性设置的方法。

很多学习iOS6编程都是从storyboard开始,用到UILabel时是将控件拖到storyboard中生成实现,如果想要在-(void)viewDidLoad中用代码如[_label initWithFrame:CGRectMake(X,Y,WIDTH,HEIGHT)]方法改变拖拽到storyboard的label的大小是行不通的,因为程序加载时先执行了-(void)viewDidLoad的代码,然后再加载storyboard,而storyboard会按照拖拽控件时设置的大小来生成label,即覆盖了在-(void)viewDidLoad中设置的大小,所以要动态设置label的大小应该用代码实现UILabel的创建。


UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(50, 50, 200, 400)];  

这样就用代码实现了label的创建,其中initWithFrame设置了label的位置还有大小,其中CGRectMake可以通过另外声明CGRect rect =CGRectMake(50,50,200,400)再将变量rect放在方法initWithFrame后实现CGRectMake的四个数值分别代表rect的位置坐标x值,坐标y值,宽度width,高度height。第二句[self.view addSubview:label]就是在当前的视图self.view中通过调用addSubview方法加入子视图,就像贴纸一样贴上去,会因为添加的顺序不同而发生后一个添加的子视图遮盖前一个子视图的现象,这个在后面讲为label添加背景图时还会提到。

或者用下面的代码来改变label的大小。


label.frame = CGRectMake(97, 47, 223, 19);  

设置label的标记(tag)


label.tag =101;  

  设置label的文本内容


label.text =@"abcd" 

 或者    


NSString *labelText = @"abcd";  
label.text = labelText; 

把字符串的值赋给label

设置label的文字类型与大小


label.font = [UIFont systemFontOfSize:12];//采用系统默认文字设置大小  
label.font = [UIFont fontWithName:@"Arial" size:30];//设置文字类型与大小 

设置label的文字颜色


label.textColor = [UIColor lightGrayColor];//其中textColor要用UIColor类型  

设置文本的对齐方式


label.textAlignment = NSTextAlignmentLeft; 

 其中textAlignment有三种设置方式:NSTextAlignmentLeft为向左对齐,NSTextAlignmentCenter为居中对齐,NSTextAlignmentRight为向右对齐

如果有一些文章介绍时用的是UITextAlignmentCenter/UITextAlignmentLeft/UITextAlignmentRight,那是iOS6以前的用法,iOS6的最新用法已改

当文本内容很多,label无法全部显示时label会将文本内容以省略号的方式代替,下面说一下label文本省略方式的设置