关于UILabel标签控件的使用小节

  前段时间一直想停下来,总结一下近期在开发中遇到的一些问题顺便分享一下解决问题的思路和方法,无奈人生就像蒲公英,看似自由却身不由己。太多的时间和精力被占用在新项目的开发和之前项目的维护中,总之一句话外包公司确实是很累的,不过如果你能坚持,也是真正能学到东西的地方。没办法,谁让我们赶上了中国变革的时代,谁让我们年轻,所以做些更有意义的事情或许以后回忆起来才不会感觉虚度大好的青春年华吧。连着做了差不多三个项目,短短的四个月的时间中,其实也是很锻炼人的,而且都是一个人在做,哈哈,就不在这里卖弄了,其实程序开发真的是很耗费精力的一件事,用心的做一件事并坚持把他们做好,或许是最好的生活态度吧。刚好新项目的开发和刚刚完成的项目之间有差不多一周的过渡,也能过几天休闲自由的时光了,下面说一下简单而强大的标签控件。

  通常我们感觉标签很简单,

   //单位

        UILabel*lblDanwei = [[[UILabel alloc]init]autorelease];

        lblDanwei.frame = CGRectMake(15, 234, 13, 13);

        lblDanwei.backgroundColor = [UIColor clearColor];

        lblDanwei.textColor = BB_DarkRed_Color;

        lblDanwei.textAlignment = NSTextAlignmentLeft;

        lblDanwei.font = [UIFont systemFontOfSize:13];

        lblDanwei.text=@"¥";

        [lblDanwei setHidden:YES];

        [cell.contentView addSubview:lblDanwei];

也没有显得那么高大上,其实就像中国道家有句话,大道至简,定义控件并显示信息并没有什么特别之处,好吧,这些确实是它比较常用的一些属性,也确实司空见惯,可能有那么一些属性你并没有使用过或者是根本不知道原来标签自带如此强大的功能属性,我也是在一次次的历练后才发现这个小小的标签,苹果都能将它变得如此的强大,所以它才能够在短时间内重新崛起,并垄断霸主地位那么长时间也是有道理的。下面说说其他的几个属性也是很好用的  

  1、多行文本展示 

  标签除了显示单行的文本信息外,还可以设置显示多少行数,或者动态判断,有多少文本都可以动态展示,当然cell的高度可能也需要根据文本的内容动态的调整,要实现这个功能只需要几个属性而已 lblDanwei.numberOfLines = 0;可以动态显示多行文本,当然根据需要可以设置三行或者五行当然就更简单一些 lblDanwei.numberOfLines = 5;至于如何判断行高我提示一下吧,一般可以根据字号和宽度文本个数处理一下,我们是自己封装了一个方法,我就不贴出来了。

  2、多行文本,可以任意设置某些字的字号、字体、颜色

  这个理解起来可能有些吃力,我直接上一张图吧,,项目开发中往往会用到类似这样的布局方式,一行或者多行文本中某些字段的颜色或者字号并不一样,当然这个如果是单行的话可以多方几个不同的标签完全可以搞定,但是如果是一段完整的文字,中间的一些字颜色、字号不一样还能处理么,当然可以,下面就说一下标签更强大的地方,支持一个标签中显示不同大小、不同颜色的一段文本,废话不多说,直接上代码吧。

    NSString *temStr = @"";

            

            temStr=[NSString stringWithFormat:@"共计:¥%@",myprice];

            

            NSMutableAttributedString *str = [[[NSMutableAttributedString alloc] initWithString:temStr]autorelease];

            

            [str addAttribute:NSForegroundColorAttributeName value:BB_Blake range:NSMakeRange(0,3)];

            [str addAttribute:NSForegroundColorAttributeName value:BB_DarkRed_Color range:NSMakeRange(3,[str length]-3)];

            

            [str addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:13] range:NSMakeRange(0,4)];

            [str addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:17] range:NSMakeRange(4,[str length]-4)];

            

            [lblTotalFee setAttributedText:str];

相对于其他说教类型的东西,我更喜欢用更实用的方式记录一下开发中遇到的问题,这里你可以给指定索引未知的文字设置不同的字号、颜色值,其实用起来还是挺简单的,一般会和多行文本熟悉配合使用,一旦使用,便会爱不释手能节省很多不必要的代码,至于其他更常见的定义和用法,其他地方都能找得到,这里就不赘述了。  

原文地址:https://www.cnblogs.com/bigant9527/p/5007029.html