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

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

   //单位

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];

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

关于UILabel标签控件的使用小节的更多相关文章

  1. 基于duilib实现的可滑动tab标签控件

    最近一直在忙棋牌游戏大厅的开发,使用了duilib界面库,在大厅界面游戏菜单的展现上需要用到滑动的效果,类似悠扬棋牌,jj棋牌的菜单左右(上下)滑动的效果.通过自己的设计思路完善了一个可滑动的tab标 ...

  2. Android 标签控件

    版本号:1.0 日期:2014.7.24 版权:© 2014 kince 转载注明出处      在有的应用中可能须要设置一些标签来方便用去去查询某些信息,比方手机助手或者购物软件之类都会有一些标签. ...

  3. DS标签控件文本解析格式

    DS标签控件使用DSL文本渲染引擎,支持DSL引擎代码.目前支持代码如下: <b>粗体</b> 以粗体显示 <i>斜体</i> 以斜体显示 <u& ...

  4. ActiveReports 报表控件V12新特性 -- 文本框和标签控件的浓缩

    ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...

  5. Android控件进阶-自定义流式布局和热门标签控件

    技术:Android+java   概述 在日常的app使用中,我们会在android 的app中看见 热门标签等自动换行的流式布局,今天,我们就来看看如何 自定义一个类似热门标签那样的流式布局吧,类 ...

  6. VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下)

    上一节中鸡啄米讲了标签控件知识的上半部分,本节继续讲下半部分. 标签控件的创建 MFC为标签控件的操作提供了CTabCtrl类. 与之前的控件类似,创建标签控件可以在对话框模板中直接拖入Tab Con ...

  7. VS2010/MFC编程入门之三十二(常用控件:标签控件Tab Control 上)

    前面两节鸡啄米讲了树形控件Tree Control,本节开始讲解标签控件Tab Control,也可以称为选项卡控件. 标签控件简介 标签控件也比较常见.它可以把多个页面集成到一个窗口中,每个页面对应 ...

  8. Kotlin 第一弹:自定义 ViewGroup 实现流式标签控件

    古人学问无遗力, 少壮工夫老始成.纸上得来终觉浅, 绝知此事要躬行. – 陆游 <冬夜读书示子聿> 上周 Google I/O 大会的召开,宣布了 Kotlin 语言正式成为了官方开发语言 ...

  9. 能够附加图片的标签控件iOS项目源码

    这个源码案例是能够附加图片的标签控件,源码JTImageLabel,JTImageLabel能够附加图片的标签Label控件,图片可以随意更换.位置也能够很好的控制.效果图: <ignore_j ...

随机推荐

  1. jmeter 使用总结

    安装和启动(mac) 下载jmeter安装包并解压,进入其bin目录,执行./jmeter.sh或sh jmeter,打开就会出现如下画面 Thread Group 新建线程组,如下图 需要设置的选项 ...

  2. c库中sprintf

    用法:sprintf指的是字符串格式化命令,主要功能是把某个数据写入某个字符串中: 我的理解就是,将某个其它类型的数据按着某一格式写入char *a,因此叫格式化命令: 语法: #include< ...

  3. 从原生web组件到框架组件源码(一)

    温馨提醒,当你觉得看我写的很乱的时候,就对了,那是因为我查阅了大量的资料提取出来的,因为有点东西不太理解,所以你会感觉有的部分重复了,也不是重复,只是后面对前面的内容进行梳理了一些,需要耐心的看到最后 ...

  4. Redis常用命令(2)——String

    APPEND 格式:APPEND key value 作用:在key的键值后追加value,如果key不存在,则创建key,并存入value. 返回值:追加value后的字符串长度. 示例: 192. ...

  5. docker部署redis主从和哨兵

    docker部署redis主从和哨兵 原文地址:https://www.jianshu.com/p/72ee9568c8ea 1主2从3哨兵 一.前期准备工作 1.电脑装有docker 2.假设本地i ...

  6. 直播软件开发之Java音视频解决方案:音视频基础知识

    概念 从信息论的观点来看,描述信源的数据是信息和数据冗余之和,即:数据=信息+数据冗余.音频信号在时域和频域上具有相关性,也即存在数据冗余.将音频作为一个信源,音频编码的实质是减少音频中的冗余. 拟信 ...

  7. django环境安装操作整理!

    1. Django 下载地址:https://www.djangoproject.com/download/ 注意:目前 Django 1.6.x 以上版本已经完全兼容 Python 3.x. 2.安 ...

  8. 牛客网-声网2020校招-通用C++笔试题-2020.9.3

    1. 操作系统中两个进程争夺同一个资源会发生什么情况? 答:不一定死锁 解析:产生死锁的四个必要条件为 (1)互斥条件:一个资源每次只能被一个进程使用. (2)不可剥夺条件:进程已获得的资源,在未使用 ...

  9. TIME_WAIT状态存在的原因

    TIME_WAIT状态存在有两个理由: 1.可靠地实现TCP全双工连接的中断 2.允许老的重复分节在网络中消失 第一个理由:如果客户端的ACK丢失了,服务器将会重新发送它的最终的那个FIN,因此客户端 ...

  10. #paragma详解

       #Pragma是预处理指令,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#Pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统 ...