iOS UILabel控件
程序员文章站
2022-04-06 08:01:00
UILabel是iOS中最基本的一个控件,用来展示一段不可编辑的文本。UILabel继承于UIView,包含继承于UIView的属性,可查看iOS UIView控件。1. UILabel的主要属性text,设置显示文本textColor,设置文本的颜色,默认为黑色font,设置字体以及大小,默认为系统字体textAlignment,文字的对齐方式,默认是NSTextAlignmentLeft左对齐NSTextAlignmentLeft,左对齐NSTextAlignmentRight,右对齐...
UILabel
是iOS中最基本的一个控件,用来展示一段不可编辑的文本。UILabel
继承于UIView
,包含继承于UIView
的属性,可查看iOS UIView控件。
1. UILabel的主要属性
属性 | 说明 |
---|---|
text | 设置显示文本 |
textColor | 设置文本的颜色,默认为黑色 |
font | 设置字体以及大小,默认为系统字体 |
textAlignment | 文字的对齐方式,默认是NSTextAlignmentLeft左对齐 |
lineBreakMode | 设置文字长度超出范围时文字的显示方式 |
numberOfLines | 设置文本显示的行数,设置为0 即为自动换行 |
adjustsFontSizeToFitWidth | 根据宽度调整font,默认为NO |
enabled | 默认是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];
显示如下
本文地址:https://blog.csdn.net/chennai1101/article/details/109625603
下一篇: 法律电商市场的发展现状以及未来前景