属性字符串(NSAttributedString)的简单应用

属性字符串NSAttributedString 可以对字符串附加格式信息,由于对于对不同文本片段使用不同的格式,属性字符串类特别合适。

IOS 6中对样式文本有了大改善,大部分主要的UIKit控件都允许使用属性字符串。举例UILable,只要创建一个属性字符串,然后赋值给标签的attributedText属性即可。

- (IBAction)buttonPressed:(UIButton *)sender {
    //按钮标题
    NSString *title = [sender titleForState:UIControlStateNormal];
    //标签标题
    NSString *plainTitle = [NSString stringWithFormat:@"%@ button press", title];
//    _statusLabel.text = plainTitle;

    //创建属性字符串对象
    NSMutableAttributedString *styledText = [[NSMutableAttributedString alloc] initWithString:plainTitle];

    //修改属性字符串中的某文件的字体(加粗)
    NSDictionary *attributes =
    @{
      NSFontAttributeName : [UIFont boldSystemFontOfSize:_statusLabel.font.pointSize]
      };
    NSRange rang = [plainTitle rangeOfString:title];
    [styledText setAttributes:attributes range:rang];

    //赋值给标签
    _statusLabel.attributedText = styledText;
}

效果如下:

Left button press

时间: 2024-10-07 04:24:26

属性字符串(NSAttributedString)的简单应用的相关文章

(一一一)图文混排基础 -利用正则分割和拼接属性字符串

很多时候需要用到图文混排,例如聊天气泡中的表情,空间.微博中的表情,例如下图: 红心和文字在一起. 比较复杂的情况是表情夹杂在文字之间. 要实现这种功能,首先要介绍iOS中用于显示属性文字的类. 用于文字显示的类除了text属性之外,还有attributedText属性,这个属性是NSAttributedString类型,通过这个属性可以实现不同文字的不同字体.颜色甚至把图片作为文字显示的功能. 下面介绍这个字符串的使用. 以一条微博内容为应用场景,介绍如何从中找出表情.话题等内容,其中表情替换

ios开发之属性字符串NSAttributeString与NSString相互转换包含图片

分享几个常用的 属性字符串NSAtrributeString 和 NSString 普通字符串的 转换方法: 一:把普通的字符串,替换为包含图片的属性字符串 plist 文件,图片 格式见下图: +(NSMutableAttributedString *)stringToAttributeString:(NSString *)text { //先把普通的字符串text转化生成Attributed类型的字符串 NSMutableAttributedString * attStr = [[NSMut

Android中资源文件中的字符串数组string-array简单用法

在Android中,用string-array是一种简单的提取XML资源文件数据的方法. 例子如下: 把相应的数据放到values文件夹的strings.xml文件里,或是其他自定义的xml中都可以,以下操作方法相同. <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="sports"> <item>足球<

有两个地方,用到了javabean对象和属性字符串值之间的转换

1.有两个地方,用到了javabean对象和属性字符串值之间的转换 2.一个是接入层spring mvc,将json字符串参数转换为javaBean.通过@RequestBody javaBean方式 3.另一个是,mybatis中javeBean对象与数据库字段值之间的转换. 在sql语句的insert/update/delete语句传入javaBean对象,用#{}转换为具体的属性 在sql语句的select中,将数据库中的字段转换为javaBean的属性值. 4.只要发生javaBean的

html语言解析为属性字符串NSMutableAttributedString

NSString *htmlString=[NSString stringWithFormat:@"<html><body>%@</body></html>",html语言字段]; NSMutableAttributedString * attrStr = [[NSMutableAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStrin

spark1.0属性配置以及spark-submit简单使用

在spark1.0中属性支持三种配置方式: 1.代码 在代码中构造SparkConf时指定master.appname或者key-value等 val conf = new SparkConf(); conf.setAppName("WordCount").setMaster(" spark://hadoop000:7077") val sc = new SparkContext(conf) val conf = new SparkConf(); conf.set(

属性字符串的replaceCharactersInRange方法

一,实验: 1> 让 range 的 length 参数为0,以下代码输出属性字符串的结果为12354 1 NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc]initWithString:@"1234"]; 2 NSRange range = NSMakeRange(3, 0); 3 [attrStr replaceCharactersInRange:range withString:@&

用NSAttributedString实现简单的图文混排

iOS7以后,因为TextKit的强大,可以用NSAttributedString很方便的实现图文混排(主要是利用了NSTextAttachment). 关于Textkit的牛逼之处,可以参考objcio上的文章(https://objccn.io/issue-5-1/) 我用NSAttributedString仿写了一个知乎的输入框(低仿,就是有个功能而已),效果如图: demo在这里:(https://github.com/Phelthas/TEST_XMLCommon   的第四个) 有几

字符串转数字简单代码实现

#include <stdio.h> #define u8 unsigned char static const int MAC_LENGTH = 6; static u8 char1Tonum(u8 ch) { if((ch>='0')&&(ch<='9')) return ch - '0'; else if ((ch>='a')&&(ch<='f')) return ch - 'a' + 10; else if ((ch>='A