一.默认状态
单行,不可获取用户点击事件,UIViewContentModeRedraw模式,改变就重绘.
二.相关属性与函数
1.文本属性
text // label 显示的文字
font // text 的字体,值不可以是nil,否则异常
textColor // text 的颜色
textAlignment // text 的对其方式
lineBreakMode // 当文字超出label显示区域时的截取方式
typedef enum {
UILineBreakModeWordWrap = 0, // 以空格为界,保留整个单词
UILineBreakModeCharacterWrap, // 保留整个字符
UILineBreakModeClip, // 画到边界为止
UILineBreakModeHeadTruncation, // 省略开始,...代替
UILineBreakModeTailTruncation, // 省略尾部,...代替
UILineBreakModeMiddleTruncation, // 省略中间,...代替.这3个多行时作用于最后一行,多行时这三个以单词分行
} UILineBreakMode;
enabled // 文字是否可变,布尔值
2.文本区域
adjustsFontSizeToFitWidth
布尔值,@property(nonatomic) BOOL adjustsFontSizeToFitWidth,设置文本字体是否要减小来适应label的区域.只有当label的行数事1时有效.字体一直减小到你设置的最小字体值.
baselineAdjustment
当adjustsFontSizeToFitWidth值为YES的时候,如果文本的font需要缩小,这个值控制基线位置.只有为本行数为1时有效
@property(nonatomic) UIBaselineAdjustment baselineAdjustment
typedef enum {
UIBaselineAdjustmentAlignBaselines = 0, // 默认值文本最上端与label中间线对齐
UIBaselineAdjustmentAlignCenters,// 文本中间与label中间线对齐
UIBaselineAdjustmentNone,// 文本最底端与label中间线对齐
} UIBaselineAdjustment;
minimumFontSize // 最小字体,行数为1时有效,默认0.0
numberOfLines // 文本行数,为0时没有最大行数限制
3.高亮设置
highlightedTextColor // 文本高亮时的颜色
highlighted // 文本是否高亮
4.绘制阴影
shadowColor // 阴影颜色
shadowOffset // 阴影偏移
5.重载绘画
– textRectForBounds:limitedToNumberOfLines: // 不可直接调用,需要子类重载,第二参数为0时没有行数限制
– drawTextInRect: // 不可直接调用,需要子类重载
6.用户交互
userInteractionEnabled // 是否可与用户交互,基本上也都在子类中重载使用
三.常用范例
1.取得label大小正好适合文字
NSString* text = @"this is a simple uilabel sample";
UILabel* label = [[UILabel alloc] initWithFrame:CGRectZero];
label.backgroundColor = [UIColor redColor];
CGFloat width = 30.0;
UIFont* font = [UIFont systemFontOfSize:14.0];
label.font = font;
label.numberOfLines = 0;
label.lineBreakMode = UILineBreakModeWordWrap;
label.text = text;
// 方法一,用文字来确定
CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(width, 2000.0) lineBreakMode:UILineBreakModeWordWrap];
// 方法二,自适应
//CGSize size = [label sizeThatFits:CGSizeMake(width, 2000.0)];
label.frame = CGRectMake(0, 0, size.width, size.height);
相关推荐
### UILabel基本用法与详解 #### 一、概述 `UILabel`是iOS开发中非常基础且使用频率极高的UI控件之一,主要用于显示一段不可编辑的文本。它继承自`UIView`类,这意味着除了拥有自身特定的功能外,还继承了许多`...
在iOS开发中,`UILabel`是用于展示单行或多行文本的常见视图。它通常用于显示信息或者作为用户交互的一部分。然而,`UILabel`默认并不支持子字符串的局部点击事件,即用户不能通过点击文本中的某一部分来触发特定的...
在iOS开发中,我们经常需要在用户界面中与用户进行交互,UILabel作为显示文本的常用控件,有时需要实现更复杂的功能,比如让其中的某段文字具备点击事件。本篇将详细介绍如何通过扩展UILabel来实现这个功能,以及...
在iOS开发中,UILabel是苹果提供的一个基础UI组件,用于显示单行或多行文本。它在用户界面设计中扮演着重要角色,可以显示各种格式化的文本,如纯文本、超链接、日期等。本篇文章将深入探讨如何自定义UILabel,包括...
在Swift开发中,文本输入和显示是用户界面(UI)设计的重要组成部分,UILabel是一个常用的类,用于展示单行或多行的静态文本。本教程将详细讲解如何根据文本内容和字体来计算UILabel的宽度,并实现其自适应宽高的...
在iOS开发中,UILabel是用于显示单行或多行文本的常用控件,它简洁而功能强大。然而,有时候我们可能会遇到这样一个问题:UILabel在显示文本时出现闪烁的现象,这不仅影响用户体验,也可能对应用程序的整体质量产生...
在iOS开发中,`UILabel` 是一个非常常用的控件,用于显示单行或多行文本。在设计用户界面时,我们经常需要根据文本内容和特定字体调整`UILabel`的大小,以便实现良好的布局和视觉效果。本篇文章将深入探讨如何根据...
在iOS开发中,`UILabel`和`UITextField`是两个非常重要的UI组件,它们在构建用户界面时起到不可或缺的作用。这两个控件都属于UIKit框架,用于显示文本内容,但它们的功能和用途有所不同。让我们深入探讨一下它们的...
在iOS开发中,`UILabel`是用于展示单行或多行文本的重要组件。它在用户界面设计中占据着不可或缺的地位。然而,系统默认的`UILabel`功能有限,有时不能满足我们复杂的布局需求。针对这种情况,开发者通常会通过扩展`...
在iOS开发中,`UILabel` 是一个非常常用的控件,用于显示单行或多行文本。在某些场景下,我们可能需要在文本上添加删除线效果,例如表示某个项目已取消或过期。本篇文章将详细讲解如何实现`UILabel`的删除线效果,...
在这种情况下,"swift-iOS数字滚动UILabel"是一个实用的解决方案,它能够优雅地呈现数字变化的过程,给用户带来更生动的交互体验。这个项目的核心是自定义了一个UILabel的子类,通过动画效果模拟数字滚动的过程。 ...
在iOS开发中,UILabel是用于显示单行或多行文本的常用控件。当我们需要让UILabel根据文本内容自动调整其宽度和高度以适应显示时,我们可以采用以下几种方法: 1. **高度自适应(AutoHeight)** - `numberOfLines` ...
在iOS开发中,为了创建一个类似跑马灯效果的UILabel,开发者经常需要用到文字滚动功能。这个效果通常是当UILabel中的文本内容超过其显示区域时,文本会自动从一侧滑入另一侧,给人一种持续滚动的感觉。Swift作为苹果...
本教程将深入探讨如何实现UIButton和UILabel的文字旋转(倾斜)效果,让应用界面更具吸引力和独特性。 首先,我们要理解旋转(倾斜)的概念。在二维坐标系中,旋转是通过指定角度改变对象的位置,使其偏离原始方向...
在iOS开发中,自定义内边距UILabel是一个常见的需求,特别是在设计复杂的用户界面时。`UILabel`是苹果提供的一个基础视图,用于显示单行或多行的文本,但默认情况下,它并不支持直接设置内边距。不过,通过一些技巧...
在iOS开发中,UILabel是用于显示单行或多行非编辑性文本的标准控件。然而,UILabel默认只支持基本的文本格式,如字体、颜色和对齐方式。但是,通过使用富文本(Rich Text),我们可以让UILabel展示更加复杂和丰富的...
在默认情况下,UILabel的行间距相对较小。通过自定义封装,开发者可以为UILabel提供一个可调节的行间距参数,使得阅读体验更加舒适,尤其在显示长篇文本时。 3. **字间距调整**: - 字间距是指字符之间的空隙。...
在iOS开发中,UILabel是用于显示单行或多行文本的重要组件。它在用户界面设计中起着关键作用,能够提供信息、提示或者标题。本文将深入探讨如何实现UILabel的文字对齐方式,包括上对齐、上居中对齐、上两端对齐以及...
在iOS开发中,UILabel是用于显示单行或多行文本的常用控件,它在用户界面设计中扮演着重要角色。这篇博客"UILabel显示不同颜色字体"深入探讨了如何使UILabel内的文字具有不同的颜色,增加了UI的多样性和互动性。通过...
在iOS应用开发中,UILabel是用于展示文本的常用控件,尤其在显示简短的单行文本时。然而,当需要展示的文本长度超过一行时,`UILabel`的多行显示功能就显得尤为重要。本篇文章将深入探讨如何实现`UILabel`的多行显示...