iOS UILabel控件(ios uilabel文字不显示)

UILabel是iOS中最基本的一个控件,用来展示一段不可编辑的文本。UILabel继承于UIView,包含继承于UIView的属性,可查看iOS UIView控件。

UILabel是iOS中最基本的一个控件,用来展示一段不可编辑的文本。UILabel继承于UIView,包含继承于UIView的属性,可查看iOS UIView控件。

1. UILabel的主要属性属性说明text设置显示文本textColor设置文本的颜色,默认为黑色font设置字体以及大小,默认为系统字体textAlignment文字的对齐方式,默认是NSTextAlignmentLeft左对齐lineBreakMode设置文字长度超出范围时文字的显示方式numberOfLines设置文本显示的行数,设置为0 即为自动换行adjustsFontSizeToFitWidth根据宽度调整font,默认为NOenabled默认是YES,设置为NO将会使文本变暗,表示它没有激活highlightedTextColor设置文本高亮颜色highlighted设置是否高亮显示ShadowColor设置阴影颜色ShadowOffset设置阴影偏移量,默认是(0, -1)minimumScaleFactor设置最小收缩比例attributedText设置标签属性文本,详见iOS AttributedString简介

textAlignment对齐方式

对齐方式说明NSTextAlignmentLeft左对齐NSTextAlignmentRight右对齐NSTextAlignmentCenter居中

显示如下 iOS UILabel控件插图iOS UILabel控件插图1 lineBreakMode显示方式

显示方式说明NSLineBreakByWordWrapping以空格为边界,保留单词NSLineBreakByCharWrapping保留整个字符NSLineBreakByClipping简单剪裁,到边界截断NSLineBreakByTruncatingHead缩略头部NSLineBreakByTruncatingTail缩略尾部NSLineBreakByTruncatingMiddle缩略中部

下图中,第一条是默认显示 iOS UILabel控件插图2iOS UILabel控件插图3 numberOfLines设置为0iOS UILabel控件插图4iOS UILabel控件插图5 adjustsFontSizeToFitWidth设置为YESiOS UILabel控件插图6iOS UILabel控件插图7 enabled设置为NOiOS UILabel控件插图8iOS UILabel控件插图9 highlightedTextColor设置为[UIColor redColor],highlighted设置为YESiOS UILabel控件插图10iOS UILabel控件插图11 下图中,第一条是正常情况,第二条ShadowColor设置为[UIColor magentaColor],ShadowOffset设置为(10, 5)iOS UILabel控件插图12iOS UILabel控件插图13

2. UILabel高度计算

boundingRectWithSize:options:attributes:context:计算文本高度

NSString* text = @”Copyright (c) 2006-2018 Apple Inc. All rights reserved.”;UILabel* boundsLabel = [[UILabel alloc] init];boundsLabel.backgroundColor = [UIColor brownColor];boundsLabel.text = text;boundsLabel.numberOfLines = 0;boundsLabel.font = [UIFont systemFontOfSize:17];NSInteger option = NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading;CGRect rect = [text boundingRectWithSize:CGSizeMake(320, CGFLOAT_MAX) options:option attributes:@{NSFontAttributeName: boundsLabel.font} context:nil];boundsLabel.frame = CGRectMake(30, 100, 320, ceilf(rect.size.height) + 1);[self.view addSubview:boundsLabel];

显示如下 iOS UILabel控件插图14iOS UILabel控件插图15