iOS开发笔记--iOS组件之UILabel

UILabel 的常见属性和方法:

[objc]  view plain  copy
  1. <span style="font-family:Microsoft YaHei;font-size:18px;"//创建UIlabel对象  
  2.   
  3. UILabel* label = [[UILabel alloc] initWithFrame:self.view.bounds];  
  4.   
  5. //设置显示文本  
  6.   
  7. label.text = @"This is a UILabel Demo,";  
  8.   
  9. //设置文本字体  
  10.   
  11. label.font = [UIFont fontWithName:@"Arial" size:35];  
  12.   
  13. //设置文本颜色  
  14.   
  15. label.textColor = [UIColor yellowColor];  
  16.   
  17. //设置文本水平显示位置  
  18.   
  19. label.textAlignment = UITextAlignmentCenter;  
  20.   
  21. //设置背景颜色  
  22.   
  23. label.backgroundColor = [UIColor blueColor];  
  24.   
  25. //设置单词折行方式  
  26.   
  27. label.lineBreakMode = UILineBreakModeWordWrap;  
  28.   
  29. //设置label是否可以显示多行,0则显示多行  
  30.   
  31. label.numberOfLines = 0;  
  32.   
  33. //根据内容大小,动态设置UILabel的高度  
  34.   
  35. CGSize size = [label.text sizeWithFont:label.font constrainedToSize:self.view.bounds.size lineBreakMode:label.lineBreakMode];  
  36.   
  37. CGRect rect = label.frame;  
  38.   
  39. rect.size.height = size.height;  
  40.   
  41.  label.frame = rect;    
  42.   
  43. //附上UILineBreakMode的各种情况,本人没有一一实验效果。  
  44.   
  45. typedef enum {  
  46.    UILineBreakModeWordWrap = 0,  
  47.    UILineBreakModeCharacterWrap,  
  48.    UILineBreakModeClip,  
  49.    UILineBreakModeHeadTruncation,  
  50.    UILineBreakModeTailTruncation,  
  51.    UILineBreakModeMiddleTruncation,  
  52. } UILineBreakMode;</span>  

   UILineBreakModeWordWrap = 0,
   以单词为单位换行,以单位为单位截断。
   UILineBreakModeCharacterWrap,
   以字符为单位换行,以字符为单位截断。
   UILineBreakModeClip,
   以单词为单位换行。以字符为单位截断。
   UILineBreakModeHeadTruncation,
   以单词为单位换行。如果是单行,则开始部分有省略号。如果是多行,则中间有省略号,省略号后面有4个字符。
   UILineBreakModeTailTruncation,
   以单词为单位换行。无论是单行还是多行,都是末尾有省略号。
   UILineBreakModeMiddleTruncation,
   以单词为单位换行。无论是单行还是多行,都是中间有省略号,省略号后面只有2个字符。


特殊效果实现:

1. 竖排文字显示

要实现这个效果,网友给出了四种方法:

1.1 旋转UILabel,这种方法不可选,旋转之后每个字体的方向还是有问题。

1.2 每个文字加一个换行符,这是最方便和简单的实现方式。

label.text = @"请\n竖\n直\n方\n向\n排\n列";
label.numberOfLines = [label.text length];

1.3 创建新的canvas, 在UILabel上画出竖排文字。

1.4 重写UILabel类,添加竖排文字显示功能。

参考 http://www.cnblogs.com/salam/archive/2012/05/31/UILabel.html

转自:http://blog.youkuaiyun.com/lichaoandy/article/details/7633977

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值