UILabel的简单使用介绍
2015-11-18 14:35
459 查看
首先创建一个label ,label是继承自UIView的
UILabel *myLabel = [[UILabelalloc]init];
CGFloat labelW = 200;
CGFloat labelX = (self.view.frame.size.width -
labelW)/2;
myLabel.frame = CGRectMake(labelX,100, labelW,
50);
myLabel.backgroundColor = [UIColorlightGrayColor];
_myLabel = myLabel;
[self.view
addSubview:myLabel];
设置label的文字默认是nil
myLabel.text = @"依然fantasyfantasyfantasyfantasy";
设置label的字体大小默认是17
myLabel.font = [UIFont systemFontOfSize:30];
设置label的字体颜色默认的是nil
但是你不设置颜色的话
打印字体颜色的时候会出现UIDeviceWhiteColorSpace 0
1
这个颜色是[UIColor colorWithWhite:0 alpha:1];所以默认字体颜色是黑色
myLabel.textColor = [UIColor yellowColor];
在字上的阴影上的颜色 默认是空得没有shadowColor
myLabel.shadowColor = [UIColor redColor];
字体颜色的阴影颜色在字体的哪一个方向 默认是(0,-1)是上面
(0,1)是下面(1,0)是右边(-1,0)是左边(-1,-1)是左上依次下去
正负代表方向 数值代表距离的点数
(0,0)代表没有shadowColor
myLabel.shadowOffset = CGSizeMake(0,
0);
这个属性决定了一个label显示文字的行数默认是1就一行
如是0的话就是可以有无限行
如果文本的高度达到了控件的高度 或者超过了
都会启用lineBreakMode这个属性模式
myLabel.numberOfLines = 1;
textAlignment是设置label的对齐方式是一个枚举
默认是左对齐
NSTextAlignmentLeft=0 左对齐
NSTextAlignmentCenter=1
居中
NSTextAlignmentRight=2
右对齐
NSTextAlignmentJustified=3
左右两边都对齐 一个段落的最后一行是natural-aligned
NSTextAlignmentNatural=4
显示脚本的默认对齐方式
myLabel.textAlignment = NSTextAlignmentCenter;
枚举类型
默认是NSLineBreakByTruncatingTail
NSLineBreakByWordWrapping = 0,
按着一个单词来显示 不会被剪辑剩余的不会被显示
NSLineBreakByCharWrapping,
按着一个字体来显示 不会被剪辑剩余的不会被显示
NSLineBreakByClipping,
把能显示的全显示完 剩下的直接不显示可能有的字显示一半就被剪辑
NSLineBreakByTruncatingHead,
在那一行显示不全的话
那一行 就以 ...abcd模式来显示
NSLineBreakByTruncatingTail,
在那一行显示不全的话
那一行 就以 abcd...模式来显示
NSLineBreakByTruncatingMiddle 在那一行显示不全的话那一行
就以 ab...cd模式来显示
myLabel.lineBreakMode = NSLineBreakByTruncatingTail;
对于attributedText这个属性
可以改变label的一些属性比如font,textColor
关于attributedText,看更多的信息请点这里
不用这个属性的话 不要设置为nil
若为nil的话 他会重新设置你的font text等 这时你会看到你的label没有文字了
myLabel.attributedText = nil;
是不是高亮状态 默认是no
myLabel.highlighted = YES;
设置高亮状态下的颜色默认是nil
myLabel.highlightedTextColor = [UIColor redColor];
设置是否可以和用户直接交互 一般添加手势的时候会把这个打开
默认是不可以交互的
myLabel.userInteractionEnabled = YES;
默认是yes 若改成no字体的颜色会变暗
添加手势之后 把这个属性改为no这个手势依然可以被触发
不知道这个属性有什么用处 难道是单单的改变颜色
myLabel.enabled=YES;
这个属性当文本宽度小于控件宽度的时候 这个属性没做什么事情
当文本宽度大于控件宽度的时候 所有的文字会自适应这个控件的宽度,改变了字体的大小
myLabel.adjustsFontSizeToFitWidth = YES;
这个属性只有当adjustsFontSizeToFitWidth=yes的时候而且numberOfLines是1的时候才起作用
若是UIBaselineAdjustmentAlignBaselines 的话
变小之后的字体和以前的字体
和label的y值的距离是不变的
若是UIBaselineAdjustmentAlignCenters的话
变小之后的字体和以前字体的中间center.y是不变的
若是UIBaselineAdjustmentNone的话
变小之后的字体和以前的字体距离label底部的距离是不变的
UIBaselineAdjustmentAlignBaselines = 0,当缩小文本位置基于最初的基线的时候才用到这个属性
UIBaselineAdjustmentAlignCenters,
UIBaselineAdjustmentNone,
myLabel.baselineAdjustment =UIBaselineAdjustmentAlignBaselines;
默认是0若是0则当前字体大小被识别为最小的字体
用这个属性来指定最小的乘数 这个乘数是当前的字体来计算出可以一个可以接受的字体来展示label
若是1的话表明这个字体不可以被放大和缩小了
myLabel.minimumScaleFactor = 0;
这个属性理解欠缺求大神指点官方文档没看到对这个的解释
这个属性是iOS9 才出现的
myLabel.allowsDefaultTighteningForTruncation = YES;
这个属性是用来设置多行label的最大宽度的
当自动布局的时候约束这个label的时候这个属性会起作用
在自动布局添加约束中,若文本超过了指定的最大宽度的时候
文本会另起一行 从而增加了label的高度
myLabel.preferredMaxLayoutWidth = 20;
UILabel *myLabel = [[UILabelalloc]init];
CGFloat labelW = 200;
CGFloat labelX = (self.view.frame.size.width -
labelW)/2;
myLabel.frame = CGRectMake(labelX,100, labelW,
50);
myLabel.backgroundColor = [UIColorlightGrayColor];
_myLabel = myLabel;
[self.view
addSubview:myLabel];
设置label的文字默认是nil
myLabel.text = @"依然fantasyfantasyfantasyfantasy";
设置label的字体大小默认是17
myLabel.font = [UIFont systemFontOfSize:30];
设置label的字体颜色默认的是nil
但是你不设置颜色的话
打印字体颜色的时候会出现UIDeviceWhiteColorSpace 0
1
这个颜色是[UIColor colorWithWhite:0 alpha:1];所以默认字体颜色是黑色
myLabel.textColor = [UIColor yellowColor];
在字上的阴影上的颜色 默认是空得没有shadowColor
myLabel.shadowColor = [UIColor redColor];
字体颜色的阴影颜色在字体的哪一个方向 默认是(0,-1)是上面
(0,1)是下面(1,0)是右边(-1,0)是左边(-1,-1)是左上依次下去
正负代表方向 数值代表距离的点数
(0,0)代表没有shadowColor
myLabel.shadowOffset = CGSizeMake(0,
0);
这个属性决定了一个label显示文字的行数默认是1就一行
如是0的话就是可以有无限行
如果文本的高度达到了控件的高度 或者超过了
都会启用lineBreakMode这个属性模式
myLabel.numberOfLines = 1;
textAlignment是设置label的对齐方式是一个枚举
默认是左对齐
NSTextAlignmentLeft=0 左对齐
NSTextAlignmentCenter=1
居中
NSTextAlignmentRight=2
右对齐
NSTextAlignmentJustified=3
左右两边都对齐 一个段落的最后一行是natural-aligned
NSTextAlignmentNatural=4
显示脚本的默认对齐方式
myLabel.textAlignment = NSTextAlignmentCenter;
枚举类型
默认是NSLineBreakByTruncatingTail
NSLineBreakByWordWrapping = 0,
按着一个单词来显示 不会被剪辑剩余的不会被显示
NSLineBreakByCharWrapping,
按着一个字体来显示 不会被剪辑剩余的不会被显示
NSLineBreakByClipping,
把能显示的全显示完 剩下的直接不显示可能有的字显示一半就被剪辑
NSLineBreakByTruncatingHead,
在那一行显示不全的话
那一行 就以 ...abcd模式来显示
NSLineBreakByTruncatingTail,
在那一行显示不全的话
那一行 就以 abcd...模式来显示
NSLineBreakByTruncatingMiddle 在那一行显示不全的话那一行
就以 ab...cd模式来显示
myLabel.lineBreakMode = NSLineBreakByTruncatingTail;
对于attributedText这个属性
可以改变label的一些属性比如font,textColor
关于attributedText,看更多的信息请点这里
不用这个属性的话 不要设置为nil
若为nil的话 他会重新设置你的font text等 这时你会看到你的label没有文字了
myLabel.attributedText = nil;
是不是高亮状态 默认是no
myLabel.highlighted = YES;
设置高亮状态下的颜色默认是nil
myLabel.highlightedTextColor = [UIColor redColor];
设置是否可以和用户直接交互 一般添加手势的时候会把这个打开
默认是不可以交互的
myLabel.userInteractionEnabled = YES;
默认是yes 若改成no字体的颜色会变暗
添加手势之后 把这个属性改为no这个手势依然可以被触发
不知道这个属性有什么用处 难道是单单的改变颜色
myLabel.enabled=YES;
这个属性当文本宽度小于控件宽度的时候 这个属性没做什么事情
当文本宽度大于控件宽度的时候 所有的文字会自适应这个控件的宽度,改变了字体的大小
myLabel.adjustsFontSizeToFitWidth = YES;
这个属性只有当adjustsFontSizeToFitWidth=yes的时候而且numberOfLines是1的时候才起作用
若是UIBaselineAdjustmentAlignBaselines 的话
变小之后的字体和以前的字体
和label的y值的距离是不变的
若是UIBaselineAdjustmentAlignCenters的话
变小之后的字体和以前字体的中间center.y是不变的
若是UIBaselineAdjustmentNone的话
变小之后的字体和以前的字体距离label底部的距离是不变的
UIBaselineAdjustmentAlignBaselines = 0,当缩小文本位置基于最初的基线的时候才用到这个属性
UIBaselineAdjustmentAlignCenters,
UIBaselineAdjustmentNone,
myLabel.baselineAdjustment =UIBaselineAdjustmentAlignBaselines;
默认是0若是0则当前字体大小被识别为最小的字体
用这个属性来指定最小的乘数 这个乘数是当前的字体来计算出可以一个可以接受的字体来展示label
若是1的话表明这个字体不可以被放大和缩小了
myLabel.minimumScaleFactor = 0;
这个属性理解欠缺求大神指点官方文档没看到对这个的解释
这个属性是iOS9 才出现的
myLabel.allowsDefaultTighteningForTruncation = YES;
这个属性是用来设置多行label的最大宽度的
当自动布局的时候约束这个label的时候这个属性会起作用
在自动布局添加约束中,若文本超过了指定的最大宽度的时候
文本会另起一行 从而增加了label的高度
myLabel.preferredMaxLayoutWidth = 20;
相关文章推荐
- “无法更新EntitySet“*****”,因为它有一个DefiningQuery,而元素中没有支持当前操作的元素”问题的解决方法
- Getting Started with Play 2, Scala, and Squeryl
- ucGUI移植到msp430f149时底层驱动代码
- requestFocusFromTouch , requestFocus
- 调用系统提供的DownlaodManager时,DownLoadList下载管理UI中出现缩略图显示不完整的问题?
- Leetcode161: Repeated DNA Sequences
- UIView 页面跳转动画
- UIView 模态动画
- UITextFiled时时获取当前输入的字符长度
- UIDatePicker 日期/时间选取器(滚轮)—IOS开发
- android gradle build resources.arsc文件未压缩问题解决
- Loadrunner-soap_request初体验
- private static final long serialVersionUID = 1L;
- 利用huffman树实现字符文档的压缩//to be continued
- setFont for UIButton is deprecated
- @PathVariable和@RequestParam的区别
- UIScrollView属性详解
- android源码解析--AlertDialog及AlertDialog.Builder
- 重启、蓝屏等 导致Android Stuido 发生"cannot resolve symbol" 解决方案
- UIImageView图片视图的基本概念和使用方法