当前位置: 代码迷 >> 综合 >> UILabel ——千变万幻的文字
  详细解决方案

UILabel ——千变万幻的文字

热度:19   发布时间:2024-01-18 01:30:16.0

与UIView一样,在viewDidLoad函数中进行代码的书写。

【1】创建一个文本标签label:

UILabel  *label = [[UILabel alloc]init];


label.frame = CGRect Make(10,100,355,300);


label.backgroundColor = [UIColor yellowColor]; 

【2】设置文本基本属性:这里有很多设置对中文是无效的

label.text = @"我是一个文本标签";    //设置文本内容


label.textAlignment = NSTextAlignmentCenter;    //设置文本布局模式


label.textColor = [UIColor  colorWithRed:0.1 green:0.8 blue:0.2 alpha:1];   

 //自定义设置文本颜色和透明度,注意有一种颜色:clearColor是透明色。【推荐大家一个取色软件:Sip】


//label.alpha = 0.5;  //整个label的透明值,控件和文字都会变化


label.font = [UIFont systemFontOfSize:25]; //设置字体大小


label.font =[UIFont boldSystemFontOfSize:25]; //给字体加粗


label.font = [UIFont italicSystemFontOfSize:25];  //将字体设置为倾斜


for(NSString *name in [UIFont  FamilyNames]){

   NSLog(@"%@",name);

}   //遍历字体类型,输出系统自带的字体名字


label.font = [UIFont fontWithName:@"Bodoni:72",size:25];//设置字体


label.shadowColor = [UIColor redColor];  //设置阴影颜色


label.shadowOffset = CGOSizeMake(5,5); //设置阴影偏移位置

【3】设置文本换行前提及代码实现

前提:(1)label要有足够的大小;
(2)设置换行模式;
(3)设置显示的行数,如果写-1或0时,则是不限制行数    


代码如下:

label.lineBreakMode = NSLineBreakByWordWrapping;  //设置换行模式


label.numberOfLines = 10; //设置显示的行数,默认显示一行


【4】根据字符串大小计算label的大小,使得label可以足够的精简:

CGSize size = [label.text  sizeWithFont:label.font  constrainedToSize:CGSizeMake(355,10000)  lineBreakMode: NSLineBreakByWordWrapping];  //取得字符串大小

label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, label.frame.size.width, label.frame.size.height); //计算label大小


[self.view addSubview label];