UILable 显示字符串的视图控件
UILable是UIView的子视图,拥有和view一样的属性,同时也有自己特有的属性
如:显示内容;显示内容大小、对齐方式、显示颜色;多行显示等
- // 实例化
- UILabel *label01 = [[UILabel alloc] initWithFrame:CGRectMake(10.0, 50.0, 300.0, 30.0)];
- [self.view addSubview:label01];
- label01.backgroundColor = [UIColor yellowColor];
- // 显示内容,默认无内容显示
- NSString *text = @"I am learning iOS develping";
- label01.text = text;
- // 显示颜色,默认黑色
- label01.textColor = [UIColor redColor];
- // 显示大小,设置字体大小不要超过标签控件的高度
- label01.font = [UIFont systemFontOfSize:16.0];
- // 显示对齐方式,默认左对齐
- label01.textAlignment = NSTextAlignmentRight;
- UILabel *label02 = [[UILabel alloc] initWithFrame:CGRectMake(10.0, 100.0, 300.0, 100.0)];
- [self.view addSubview:label02];
- // 背景色为透明颜色
- label02.backgroundColor = [UIColor clearColor];
- // 显示颜色,默认黑色
- label02.textColor = [UIColor redColor];
- // 显示大小,设置字体大小不要超过标签控件的高度
- // 方法1 只设置字体大小
- label02.font = [UIFont systemFontOfSize:12.0];
- // 方法2 同时设置字体,及字体大小
- label02.font = [UIFont fontWithName:@"Verdana-Bold" size:12.0];
- // 显示对齐方式,默认左对齐
- label02.textAlignment = NSTextAlignmentLeft;
- // 显示内容
- NSString *text02 = @"编程语言是一种语言,只是一种语言。随着时光推移,只要你理解了一种语言的原理";
- label02.text = text02;
- // 自适应宽度显示,即缩小字体
- // label02.adjustsFontSizeToFitWidth = YES;
- // 多行显示设置
- text02 = @"编程语言是一种语言,只是一种语言。随着时光推移,只要你理解了一种语言的原理,你会发现各种语言之间的相似之处 。你所选择的语言,你应该觉得“舒服”,并且能够写出有效(而且简洁)的代码。最重要的,让语言去适应项目,反之亦然";
- label02.text = text02;
- // 多行显示,设置显示行数,0时表示不限制行数,2表示只显示2行,依次类推,默认显示1行
- label02.numberOfLines = 0;
- // 换行模式,通常结合多行显示属性一起设置
- label02.lineBreakMode = NSLineBreakByWordWrapping;
- // 计算显示内容高度,计算时的字体大小与标签控件字体大小一致
- CGSize size = [label02.text boundingRectWithSize:CGSizeMake(label02.bounds.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12.0]} context:nil].size;
- // 重新设置lable02的高度
- CGRect rect = label02.frame;
- rect.size.height = size.height;
- label02.frame = rect;
- // 阴影属性(无效果???)
- label02.shadowColor = [UIColor yellowColor];
- label02.shadowOffset = CGSizeMake(label02.bounds.size.width + 10.0, label02.bounds.size.height + 10.0);
- // 设置可变字符
- NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:text02];
- NSString *setText = @"编程语言是一种语言";
- NSRange range = [text02 rangeOfString:setText];
- // 颜色
- [attributedText addAttribute:NSForegroundColorAttributeName
- value:[UIColor brownColor]
- range:range];
- // 字体
- [attributedText addAttribute:NSFontAttributeName
- value:[UIFont systemFontOfSize:20.0]
- range:range];
- label02.attributedText = attributedText;