文档章节

多字体、多颜色的UILabel

小春0618
 小春0618
发布于 2014/11/26 20:53
字数 290
阅读 124
收藏 0

 在项目开发中,我们经常会遇到在这样一种情形:在一个UILabel 使用不同的颜色或不同的字体来体现字符串,在iOS 6 以后我们可以很轻松的实现这一点,官方的API 为我们提供了UILabel类的attributedText, 使用不同颜色和不同字体的字符串,我们可以使用NSAttributedText 和 NSMutableAttributedText 类来实现。 


现实代码: 

.h 文件 

@interface ViewController : UIViewController
@property (nonatomic, strong) IBOutlet UILabel *attrLabel; 
- (IBAction)next:(id)sender;
@end


.m文件 在viewDidLoad方法中添加以下代码: 

self.title = @"For iOS 6 & later";
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"Using NSAttributed String"];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0,5)];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(6,12)];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(19,6)];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT" size:30.0] range:NSMakeRange(0, 5)];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:30.0] range:NSMakeRange(6, 12)];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Courier-BoldOblique" size:30.0] range:NSMakeRange(19, 6)];
attrLabel.attributedText = str;

效果图: 

如果想在iOS6.0以前版本实现这个效果,需要使用到一个第三方库TTTAttributedLabel,同时还有导入CoreText.frame框架.


本文转载自:http://my.oschina.net/CarlHuang/blog/138363

小春0618
粉丝 8
博文 40
码字总数 10552
作品 0
海淀
程序员
私信 提问
加载中

评论(0)

UITextView控件的详细讲解

1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: [csharp]view plaincopy #import <UIKit/UIKit.h> @interface TextViewController : UIViewController <UITextViewDeleg......

meilidashijie
2013/01/07
2.4K
0
【转载】NGUI UILabel 文字破碎

项目使用NGUI,最近碰到 Loading界面的提示文字破碎的Bug。 参考了以下文章 转自http://blog.csdn.net/huutu http://www.liveslives.com 下面先来了解一下为什么会出现这种问题。 需要了解的...

linda012518
2018/05/09
0
0
UIButton 圆角 边框颜色 字体大小 文字对齐 图片大小

UIButton UIButton 其实包含 UIImageView 和 UILabel 两个控件,UIButton继承于UIControl,所以有addtarget监听事件 1、类型: 2、位置 3、颜色、边框效果、边框颜色 4、图片 5、标题文字 大...

程序猿-樱木花道
2014/02/16
336
0
UIImageView与UIButton

应用场合 UIImageView主要用在只显示图片,没有点击事件的情况并且处理图片更加专业,动画例子: NSMutableArray *images = [NSMutableArray array]; for (int i=0; i<sum; i++) { NSBundle ...

天边那束阳光
2014/10/01
2.3K
0
[非凡程序员]UIKit 手写控件

// // ViewController.m // 手写控件 // // Created by 非凡程序员 on 15/11/11. // Copyright (c) 2015年 Querida. All rights reserved. // #import "ViewController.h" @interface ViewC......

温暖c
2015/11/11
12
0

没有更多内容

加载失败,请刷新页面

加载更多

刚得到一台centos7服务器,作为Java程序员应该做的事

1.JDK的卸载安装 卸载掉服务器本来的OPENJDK,安装ORELOC的JDK 检查是否已经安装了jdk rpm -qa | grep jdk 如果有的话,就卸载了再装 rpm -e --nodeps java-1.7.0-openjdk 去Oracle下载一...

ytuan996
17分钟前
15
0
ConcurrentHashMap(1.8)源码剖析

ConcurrentHashMap(JDK1.8)学习记录 看了忘忘了看系列之ConcurrentHashMap,本文主要记录下通过看ConcurrentHashMap源码学习到的知识点。主要有以下几个点。文章稍长,需要耐心阅读。 1、Con...

DoubleCherish
19分钟前
21
0
mysql之explain详解(分析索引最佳使用)

mysql之explain详解(分析索引最佳使用) mysql explain用于分析sql 语句的执行及数据库索引的使用。本文将致力于帮助大家充分理解explain所返回的各项参数,从而使大家快速掌握explain用法技...

科比可比克
昨天
14
0
如何比较两个不同分支的文件? - How to compare files from two different branches?

问题: I have a script that works fine in one branch and is broken in another. 我有一个脚本在一个分支中工作正常,在另一个分支中被破坏。 I want to look at the two versions side-...

技术盛宴
昨天
19
0
jenkins Euleros镜像打包

一、下载需要的软件 mkdir jenkins_software && cd jenkins_softwarewget --no-check-certificate -q https://mirrors.huaweicloud.com/epel/RPM-GPG-KEY-EPEL-7 -O RPM-GPG-KEY-EPEL-7......

mbzhong
昨天
57
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部