NSDictionary *attributes = @{ NSForegroundColorAttributeName : [ UIColorredColor

],

NSFontAttributeName : [ UIFont fontWithName : @"Zapfino"   size : 16.0

]

}

;

NSString *strDisplayText = @"This is an attributed string."

;

NSAttributedString *attributedText = [[ NSAttributedString alloc ] initWithString:strDisplayText attributes

:attributes];

self . lblInfo . attributedText = attributedText;

NSDictionary *attributes1 = @{ 
NSBackgroundColorAttributeName : [ UIColor orangeColor ], 
    NSFontAttributeName : [ UIFont fontWithName : @"Zapfino"   size : 22.0 ], 
NSKernAttributeName : @- 1.0 
    } ; 
    NSString *strDisplayText1 = @"Orange Background" ; 
    NSAttributedString *attributedText1 = [[ NSAttributedString alloc ] initWithString:strDisplayText1 attributes :attributes1]; 
    self . lblInfo1 . attributedText = attributedText1;

NSShadow *shadow = [[ NSShadow alloc ] init ]; 
    shadow. shadowColor = [ UIColor greenColor ]; 
    shadow. shadowBlurRadius = 5.0 ; 
    shadow. shadowOffset = CGSizeMake ( 1.0 , 1.0 ); 
    NSDictionary *attributes2 = @{ 
NSUnderlineStyleAttributeName : @1 , 
NSShadowAttributeName : shadow 
    } ; 
    NSString *strDisplayText2 = @"Shadow Font" ; 
    NSAttributedString *attributedText2 = [[ NSAttributedString alloc ] initWithString:strDisplayText2 attributes :attributes2]; 
    self . lblInfo2 . attributedText = attributedText2;

NSDictionary *subStrAttribute1 = @{ 
NSForegroundColorAttributeName : [ UIColor redColor ], 
NSStrikethroughStyleAttributeName : @2 
    } ; 
    
    NSDictionary *subStrAttribute2 = @{ 
NSForegroundColorAttributeName : [ UIColor greenColor ] 
    } ; 
    
    NSString *strDisplayText3 = @"Red and Green" ; 
    NSMutableAttributedString *attributedText3 = [[ NSMutableAttributedString alloc ]initWithString :strDisplayText3]; 
    [attributedText3 setAttributes :subStrAttribute1 range : NSMakeRange ( 0 , 3 )]; 
    [attributedText3 setAttributes :subStrAttribute2 range : NSMakeRange ( 8 , 5 )]; 
    self . lblInfo3 . attributedText = attributedText3;

NSMutableParagraphStyle *paragraph = [[ NSMutableParagraphStyle alloc ] init

];

paragraph.

alignment = NSTextAlignmentJustified

;

paragraph.

firstLineHeadIndent = 20.0

;

paragraph.

paragraphSpacingBefore = 10.0

;

paragraph.

lineSpacing = 5

;

paragraph.

hyphenationFactor = 1.0

;

NSDictionary *attributes4 = @{ NSForegroundColorAttributeName : [ UIColorredColor

],

NSParagraphStyleAttributeName : paragraph     }

;

NSString *strDisplayText4 = @“iPad inspires creativity and ……”

;

NSAttributedString *attributedText4 = [[ NSAttributedString alloc ] initWithString : strDisplayText4 attributes :attributes4];

self . lblInfo4 . attributedText = attributedText4;

快速创建各种类型的NSAttributeString和NSMutableParagraphStyle的更多相关文章

  1. 【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服

    前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有 ...

  2. Hyper-v之利用差异磁盘快速创建多个虚拟机

    在新建Hyper-v磁盘的时候 有3种选项 其中分别是 固定大小 动态扩展 和 差异(differencing,个人习惯叫 差分) 其中 固定大小是新建的时候 Hyper-v创建一个设置大小值的文件, ...

  3. (视频)《快速创建网站》 4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)

    本文是<快速创建网站>系列的第9篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  4. (视频) 《快速创建网站》3.4 网站改版3分钟搞定 - WordPress主题安装和备份

    本文是<快速创建网站>系列的第8篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  5. (视频) 《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介

    网站并不神秘,过节了,在家闲的没事的,自己建个网站玩玩吧.每段视频不超过15分钟,地铁/公交/睡前/醒来看一段,几天之后变身建站专家,找老板加薪去! 在普通人眼里,创建网站是专业开发人员和IT工程师才 ...

  6. Odoo 配置快速创建编辑按钮

    对于Man2one类型的数据,我们知道,form view中总会显示出一个尾巴似的"create and edit"和一个快速创建的机制,有时候业务人员一不小心就容易创建一个新的行 ...

  7. Foundation框架 - 快速创建跨平台的网站页面原型

    API参考:http://foundation.zurb.com/docs/ 作为网页设计和开发人员,我们面临着以下几个严峻的问题: 每天,人们用来上网的设备种类和数量都在不断上升. 为每种设备设计开 ...

  8. Android开发的初学者快速创建一个项目

    因为gwf的原因,大陆连不上google所以AndroidSDK是无法更新的 而且设置代理也不一定能解决问题 如果是初学者想快速的了解安卓开发,可以在国内的内网下载整合包 下载地址:http://rj ...

  9. 使用laravel 的artisan快速创建表

    参考:使用laravel 的artisan快速创建表 字段类型参考链接: 结构生成器 版本: Laravel 4.2 1. 创建migrate 文件 php artisan migrate:make ...

随机推荐

  1. 如何使用keepalived实现nginx双机热备

    1.linux安装方法:yum -y install keepalived 配置开机启动:sudo chkconfig  keepalived on 查看keepalivede运行日志:/var/lo ...

  2. 图片变换【Matrix】矩阵 简介

    Matrix矩阵介绍 官方文档地址:https://developer.android.com/reference/android/graphics/Matrix.html 在Android中,对图片 ...

  3. Ubuntu挂载samba共享目录

    Ubuntu中现在没有smbfs了,所以smbmount命令也用不了了,现在可以使用mount.cifs命令来挂载. Usage:  mount.cifs <remotetarget> & ...

  4. Android程序的反编译对抗研究

    转自: http://www.freebuf.com/tools/76884.html 一.前言 对抗反编译是指让apk文件或者dex文件无法正常通过反编译工具,而且有可能导致工具异常或者崩溃,如ap ...

  5. XML,dom4j和Java

    看了“罗辑思维”的节目,终于克服了自己的拖延症,开始动笔写这篇文章了. 写这篇文章的目的是把XML的解析,萃取和验证都尽量覆盖一下,存储以便日后备考,使用的包是dom4j,涉及语言是Java. dom ...

  6. LoadRunner录制:事务

    背景 LoadRunner 会对事务的性能指标进行记录. 添加事务也是为了在测试的时候统计这段脚本运行时用的时间等等,方便定位性能瓶颈. 一个事务可以包含一个请求,也可以包含多个请求.一般把完成一件事 ...

  7. KineticJS教程(11)

    KineticJS教程(11) 作者: ysm 11.对象的上下关系 11.1.层的上下关系 Kinetic的层是按照添加到舞台的次序,由下向上排列,上层遮盖下层的图形.每个层各自有一个ZIndex编 ...

  8. Absolute positioning

    The programmer specifies the position and the size of each widget in pixels. When you use absolute p ...

  9. Servlet之生命周期【入门版(刚開始学习的人必看)】

    6,Servlet的解说 6.1Servlet生命周期 ,继承HttpServlet init方法(初始化Servlet)将来能够做一些初始化工作 service方法(处理请求) 一般不须要重写ser ...

  10. webp转jpg

      webp转jpg CreateTime--2017年12月8日09:32:38 Author:Marydon 1.webp格式介绍 WebP 的优势体现在它具有更优的图像数据压缩算法,能带来更小的 ...