经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » iOS » 查看文章
ios开发UI篇--UILabel
来源:cnblogs  作者:久依  时间:2019/3/6 9:36:34  对本文有异议

概述

  • UILabel类实现了一个只读文本视图。你可以使用这个类来画一个或多个静态文本.UILabel类支持既简单又复杂的样式标签文本,还可以控制外观,比如标签是否使用了一个影子或者处于高亮状态等等.
  • UILabel类继承自UIView

属性

创建UILabel对象

  1. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];

设置显示文字,默认是空的

  1. label.text = @"测试";

设置字体(系统默认字体是16号字体)

  1. label.font = [UIFont systemFontOfSize:16];

设置字体颜色(默认是黑色)

  1. label.textColor = [UIColor redColor];

设置对齐方式(在iOS 9之后,此属性的默认值是 NStextalignmentnatural;之前的iOS 9,默认值为nstextalignmentleft。)

  1. 居左 NSTextAlignmentLeft
  2. 居中 NSTextAlignmentCenter
  3. 居右 NSTextAlignmentRight
  4. label.textAlignment = NSTextAlignmentCenter;

设置换行模式

  1. 以一个单词为单位换行,最后一行显示不全内容以单词截断,后面直接不显示 NSLineBreakByWordWrapping
  2. 以字符换行 NSLineBreakByCharWrapping
  3. 以一个单词为单位换行,最后一行显示不全的内容,在label的最后直接截断,后面直接不显示 NSLineBreakByClipping
  4. 显示不全;最后一行将最后的内容显示,前面使用...代替 例:Truncate at head of line: "...wxyasdasdz" NSLineBreakByTruncatingHead
  5. 显示不全;最后一行将前面的内容显示,最后使用...代替 例:Truncate at tail of line: "abcd..." NSLineBreakByTruncatingTail
  6. 显示不全;最后一行将前面的内容显示和最后的内容显示,中间使用...代替 NSLineBreakByTruncatingMiddle
  7. label.lineBreakMode = NSLineBreakByWordWrapping;

设置阴影颜色

  1. label.shadowColor = [UIColor greenColor];

设置阴影的偏移量,默认是 CGSizeMake(0, -1) -- a top shadow

  1. label.shadowOffset = CGSizeMake(0, -2);

设置行数(当文本需要自适应时,需将行数设置为0)

  1. label.numberOfLines = 0;

adjustsFontSizeToFitWidth 根据宽度调整font,默认为 NO

  1. label.adjustsFontSizeToFitWidth = YES;

attributedText 属性文本,这里不多做介绍,具体请点此查看

高亮属性

设置是否处于高亮状态

  1. [label setHighlighted:YES];

设置高亮状态字体的颜色

  1. label.highlightedTextColor = [UIColor blueColor];

设置能否进行用户交互(默认为NO)

  1. label.userInteractionEnabled = YES;

此属性只决定如何绘制标签。禁用的文本有些模糊,表示它不活跃。默认情况下,此属性被设置为yes。

  1. label.enabled = NO;

自适应

default is NO 设置字体大小适应label宽度

  1. label.adjustsFontSizeToFitWidth = YES;

default is UIBaselineAdjustmentAlignBaselines //如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为

  1. label.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;

项目中label自适应高度代码

  1. + (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont *)font
  2. {
  3. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, 0)];
  4. label.text = title;
  5. label.font = font;
  6. label.numberOfLines = 0;
  7. [label sizeToFit];
  8. CGFloat height = label.frame.size.height;
  9. return height;
  10. }

项目中label自适应宽度的代码

  1. + (CGFloat)getWidthWithTitle:(NSString *)title font:(UIFont *)font {
  2. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 1000, 0)];
  3. label.text = title;
  4. label.font = font;
  5. [label sizeToFit];
  6. return label.frame.size.width;
  7. }

作者:coder小鹏

原文链接:http://www.cnblogs.com/jiuyi/p/10481157.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号