iPhone开发之UILabel

一直想写iPhone开发的文章,苦于没有时间,只能断断续续的更新了。语言方面就不讲了,先从UILabel说起吧。

UILabel在iPhone开发中我们经常使用,用来展示文本内容。下面具体说一下UILabel的方法。

一.设置UILabel的背景颜色,文字颜色

    UILabel *label = [[UILabel  alloc] initWithFrame:CGRectMake(20, 30, 280, 100)];
    // 设置背景颜色
    [label setBackgroundColor:[UIColor clearColor]];
    // 设置字体
    [label setFont:[UIFont boldSystemFontOfSize:14.0f]];
    // 设置文字颜色
    [label setTextColor:[UIColor redColor]];
    // 设置文本内容
    label.text = @"我大大大s大ssds大鞑靼s大大s大事鞑靼s大事大鞑靼s大大大阿大大大大大大的啊哒哒哒哒哒阿大阿大s达到啊大地啊哒哒哒大大dada";
    [self.view addSubview:label];

UILabel的默认为单行展示,即使你设置的UILabel的高度足够大。

       

如果UILabel要展示的文本内容很大,我们应该让UILabel进行自动折行展示,要让UILabel具有该功能,我们可以通过一下代码来实现

    [label setLineBreakMode:NSLineBreakByWordWrapping];
    // 设置为0,UILabel会自动折行展示文本内容,直到达到UILabel的最大高度值
    label.numberOfLines = 0;


假如文本内容非常大,如果采用上述方法,再达到UILabel的最大高度时,后面的内容就不再显示。要解决这一问题,我们可以使用NSString中的sizeWithFont方法,大家可以研究一下该函数有三种“重载”函数。

CGSize labelSize = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(280, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
// CGSizeMake(280, MAXFLOAT) 这个Size的意思就是指定宽度。当每行的宽度达到280时,自动折行,MAXFLOAT的意思就是取最大高度,直到内容展示完全。

通过这个方法就可以获取UILabel的实际大小。

今天就写这么多吧,改天继续更新。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值