`

uilabel小结

    博客分类:
  • ios
 
阅读更多

一.默认状态

单行,不可获取用户点击事件,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基本用法、UILabel详解

    ### UILabel基本用法与详解 #### 一、概述 `UILabel`是iOS开发中非常基础且使用频率极高的UI控件之一,主要用于显示一段不可编辑的文本。它继承自`UIView`类,这意味着除了拥有自身特定的功能外,还继承了许多`...

    UILabel局部点击

    在iOS开发中,`UILabel`是用于展示单行或多行文本的常见视图。它通常用于显示信息或者作为用户交互的一部分。然而,`UILabel`默认并不支持子字符串的局部点击事件,即用户不能通过点击文本中的某一部分来触发特定的...

    UILabel内容中某个文字添加点击事件

    在iOS开发中,我们经常需要在用户界面中与用户进行交互,UILabel作为显示文本的常用控件,有时需要实现更复杂的功能,比如让其中的某段文字具备点击事件。本篇将详细介绍如何通过扩展UILabel来实现这个功能,以及...

    自定义uilabel

    在iOS开发中,UILabel是苹果提供的一个基础UI组件,用于显示单行或多行文本。它在用户界面设计中扮演着重要角色,可以显示各种格式化的文本,如纯文本、超链接、日期等。本篇文章将深入探讨如何自定义UILabel,包括...

    swift-UIlabel根据文本字体获得label宽度;自适应宽高

    在Swift开发中,文本输入和显示是用户界面(UI)设计的重要组成部分,UILabel是一个常用的类,用于展示单行或多行的静态文本。本教程将详细讲解如何根据文本内容和字体来计算UILabel的宽度,并实现其自适应宽高的...

    iOS UIlabel 闪烁

    在iOS开发中,UILabel是用于显示单行或多行文本的常用控件,它简洁而功能强大。然而,有时候我们可能会遇到这样一个问题:UILabel在显示文本时出现闪烁的现象,这不仅影响用户体验,也可能对应用程序的整体质量产生...

    UIlabel根据文本、字体获得label宽度;自适应宽高

    在iOS开发中,`UILabel` 是一个非常常用的控件,用于显示单行或多行文本。在设计用户界面时,我们经常需要根据文本内容和特定字体调整`UILabel`的大小,以便实现良好的布局和视觉效果。本篇文章将深入探讨如何根据...

    iOS_UILabel and UITextField

    在iOS开发中,`UILabel`和`UITextField`是两个非常重要的UI组件,它们在构建用户界面时起到不可或缺的作用。这两个控件都属于UIKit框架,用于显示文本内容,但它们的功能和用途有所不同。让我们深入探讨一下它们的...

    UILabel拓展属性

    在iOS开发中,`UILabel`是用于展示单行或多行文本的重要组件。它在用户界面设计中占据着不可或缺的地位。然而,系统默认的`UILabel`功能有限,有时不能满足我们复杂的布局需求。针对这种情况,开发者通常会通过扩展`...

    UILabel的删除线效果,简单实用

    在iOS开发中,`UILabel` 是一个非常常用的控件,用于显示单行或多行文本。在某些场景下,我们可能需要在文本上添加删除线效果,例如表示某个项目已取消或过期。本篇文章将详细讲解如何实现`UILabel`的删除线效果,...

    swift-iOS数字滚动UILabel

    在这种情况下,"swift-iOS数字滚动UILabel"是一个实用的解决方案,它能够优雅地呈现数字变化的过程,给用户带来更生动的交互体验。这个项目的核心是自定义了一个UILabel的子类,通过动画效果模拟数字滚动的过程。 ...

    UILabel 宽度和高度自适应的方法

    在iOS开发中,UILabel是用于显示单行或多行文本的常用控件。当我们需要让UILabel根据文本内容自动调整其宽度和高度以适应显示时,我们可以采用以下几种方法: 1. **高度自适应(AutoHeight)** - `numberOfLines` ...

    swift-iOS开发中实现UILabel滚动类似于跑马灯效果;

    在iOS开发中,为了创建一个类似跑马灯效果的UILabel,开发者经常需要用到文字滚动功能。这个效果通常是当UILabel中的文本内容超过其显示区域时,文本会自动从一侧滑入另一侧,给人一种持续滚动的感觉。Swift作为苹果...

    UIButton,UILabel文字旋转(倾斜)

    本教程将深入探讨如何实现UIButton和UILabel的文字旋转(倾斜)效果,让应用界面更具吸引力和独特性。 首先,我们要理解旋转(倾斜)的概念。在二维坐标系中,旋转是通过指定角度改变对象的位置,使其偏离原始方向...

    ios-自定义内边距UILabel.zip

    在iOS开发中,自定义内边距UILabel是一个常见的需求,特别是在设计复杂的用户界面时。`UILabel`是苹果提供的一个基础视图,用于显示单行或多行的文本,但默认情况下,它并不支持直接设置内边距。不过,通过一些技巧...

    UILabel富文本

    在iOS开发中,UILabel是用于显示单行或多行非编辑性文本的标准控件。然而,UILabel默认只支持基本的文本格式,如字体、颜色和对齐方式。但是,通过使用富文本(Rich Text),我们可以让UILabel展示更加复杂和丰富的...

    ios-UILabel的简单封装.zip

    在默认情况下,UILabel的行间距相对较小。通过自定义封装,开发者可以为UILabel提供一个可调节的行间距参数,使得阅读体验更加舒适,尤其在显示长篇文本时。 3. **字间距调整**: - 字间距是指字符之间的空隙。...

    iOS UILabel文字对齐方式

    在iOS开发中,UILabel是用于显示单行或多行文本的重要组件。它在用户界面设计中起着关键作用,能够提供信息、提示或者标题。本文将深入探讨如何实现UILabel的文字对齐方式,包括上对齐、上居中对齐、上两端对齐以及...

    UILabel显示不同颜色字体

    在iOS开发中,UILabel是用于显示单行或多行文本的常用控件,它在用户界面设计中扮演着重要角色。这篇博客"UILabel显示不同颜色字体"深入探讨了如何使UILabel内的文字具有不同的颜色,增加了UI的多样性和互动性。通过...

    UILabel多行显示

    在iOS应用开发中,UILabel是用于展示文本的常用控件,尤其在显示简短的单行文本时。然而,当需要展示的文本长度超过一行时,`UILabel`的多行显示功能就显得尤为重要。本篇文章将深入探讨如何实现`UILabel`的多行显示...

Global site tag (gtag.js) - Google Analytics