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居中
显示如下 lineBreakMode显示方式
显示方式说明NSLineBreakByWordWrapping以空格为边界,保留单词NSLineBreakByChARWrapping保留整个字符NSLineBreakByClipping简单剪裁,到边界截断NSLineBreakByTruncatingHead缩略头部NSLineBreakByTruncatingTail缩略尾部NSLineBreakByTruncatingMiddle缩略中部
下图中,第一条是默认显示 numberOfLines设置为0 adjustsFontSizeToFitWidth设置为YES enabled设置为NO highlightedTextColor设置为[UIColor redColor],highlighted设置为YES 下图中,第一条是正常情况,第二条ShadowColor设置为[UIColor magentaColor],ShadowOffset设置为(10, 5)
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];
显示如下