欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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 居中

显示如下
iOS UILabel控件
lineBreakMode显示方式

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

下图中,第一条是默认显示
iOS UILabel控件
numberOfLines设置为0
iOS UILabel控件
adjustsFontSizeToFitWidth设置为YES
iOS UILabel控件
enabled设置为NO
iOS UILabel控件
highlightedTextColor设置为[UIColor redColor]highlighted设置为YES
iOS UILabel控件
下图中,第一条是正常情况,第二条ShadowColor设置为[UIColor magentaColor]ShadowOffset设置为(10, 5)
iOS UILabel控件

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控件

本文地址:https://blog.csdn.net/chennai1101/article/details/109625603

相关标签: iOS 笔记