UILabel总结(转载)

一.默认状态

单行,不可获取用户点击事件,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);

转自http://www.cnblogs.com/jacktu/archive/2011/11/17/2252160.html

时间: 2024-09-30 18:13:10

UILabel总结(转载)的相关文章

UILabel顶部对齐解决方法(转载)

问题 我有一个UILabel高度最多能显示两行,如果里面内容只有一行,它是垂直居中的.怎么能让它顶端对齐呢? 回答 答案1:用sizeToFit改变UILabel的高度 nevan king,1969 赞 没法直接改变UILabel的垂直对齐方式,但是把 label 的 frame 高度改小也能实现相同的效果.为了看得清楚,我把 label 标为橘黄色了. 最简单的做法是: [myLabel sizeToFit]; sizeToFit 如果内容长度超过一行,把numberOfLines设成 0(

(转载)iOS UILabel自定义行间距时获取高度

本文介绍一下自定义行间距的UILabel的高度如何获取,需要借助一下开源的UILabel控件:TTTAttributedLabel 附下载地址 https://github.com/TTTAttributedLabel/TTTAttributedLabel 下载后,添加到工程里面,导入头文件 #import "TTTAttributedLabel.h" 直接上代码 NSString *str = @"UILabel自定义行间距时获取高度,UILabel自定义行间距时获取高度,

iOS开发系列之二 - UILabel 用法小结

// 初始化标签 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 150)]; // 设置标签文字 label.text = @"This is a test text.This is a test text.This is a test text."; // 设置标签文字字体 // 使用系统字体 label.font = [UIFont systemFontOfSize:20]; //

Swift中可选类型(Optional)的用法 以及? 和 ! 的区别 (转载博客,知识分享)

本文转载自:代码手工艺人的博客,原文名称:Swift之 ? 和 ! Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化.如果在使用变量之前不进行初始化就会报错: C代码   var stringValue : String //error: variable 'stringValue' used before being initialized //let hashValue = stringVa

iOS开发-使用storyboard实现UILabel的自适应高度(iOS8)

好久没有写博客了,以后多写些博客,对自己是一种提升,对大家也是一种帮助 最近特别痴迷storyboard和xib的可视化编程,在写项目的时候遇到个问题就是如何使UILabel自适应高度,查了好多文章博客,没有太好的办法,我就自己手动搞了搞,实现了自己想要的效果,下面分享出来 相信大家都遇到这种情况,label没有根据text的字数来自适应高度 那么如何使UILabel自适应高度呢? 在可视化编程下我们需要这么做 1.不可以将label的高度设成固定值,因为设成固定值,label的大小就确定了,在

UILabel(富文本)

本文转载至 http://www.jianshu.com/p/5d24d22f99c3 富文本 NSString *str = @"人生若只如初见,何事秋风悲画扇.\n等闲变却故人心,却道故人心易变.\n骊山语罢清宵半,泪雨霖铃终不怨.\n何如薄幸锦衣郎,比翼连枝当日愿."; NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:str]; attrStr添加字体和设

转载的一个富文本,挺实用的

文章内容大纲 1.NSMutableAttributedString的基本使用 2.NSMutableAttributedString的简易封装 3.使用开源代码GOBMarkupPaser处理富文本 4.UITextKit简介 5.编程思想的相关思考 前言 富文本使用案例: 这里我自己也用了富文本实现了简单的却也是常用的例子: 对于最后面的¥50中划线这种设置,估计只有富文本最好用了. 在IOS或者Mac OS X通过UIKit提供的用来显示字符串控件有三个: UILable,UITextFi

Swift UILabel 文字大小随着宽度调整

Swift UILabel的宽度一般都是固定的,但是文字有时候长有时候短,如何做到文字在超过Label宽度之后适当缩小使得现实完全 其实,很多简单 我们调用 adjustsFontSizeToFitWidth 即可实现 let label1=UILabel(frame: CGRectMake(30, 120, 300, 36)) label1.text="测试Swift UILabel 这里测试一下文字大小与标签宽度自适应 和设置最小缩放比例" self.view .addSubvie

UILabel和UIImageView的使用

UILabel的使用 主要功能:显示文本用于内容提示 常用属性 NSString *text; //UILabel显示的文本内容: UIColor *textColor; //文本显示的颜色 CGSize *shadowColor; //文本显示的阴影 NSTextAlignment textAlignment;//文本对齐方式(左对齐,居中,右对齐) UIColor *highlightedtextColor;//文本高亮是的显示颜色 BOOL highlighted; //设置文本高亮 NS