iOS NSMutableAttributedString 简单使用

NSMutableAttributedString 部分属性介绍

/** NSFontAttributeName --- 设置字体大小 */
/** NSForegroundColorAttributeName --- 设置字体颜色 */
/** NSParagraphStyleAttributeName --- 设置段落格式 (暂无明显变化) */
/** NSBackgroundColorAttributeName --- 设置字体的背景颜色 */
/** NSLigatureAttributeName --- 设置连体属性 (暂无明显变化)*/
/** NSKernAttributeName ---  设置字符间的间距,整数加大,负数减小*/
/** NSStrikethroughStyleAttributeName ---  设置删除线*/
/** NSStrikethroughColorAttributeName --- 设置删除线的颜色 */
/** NSUnderlineStyleAttributeName --- 设置下划线 */
/** NSUnderlineColorAttributeName ---  设置下划线的颜色 */
/** NSStrokeWidthAttributeName --- 设置笔画宽度,取值为 NSNumber 对象(整数),负值填充效果,正值中空效果 */
/** NSStrokeColorAttributeName --- 填充部分颜色,不是字体颜色,取值为 UIColor 对象 */
/** NSShadowAttributeName --- 设置字体的阴影,取值为 NSShadow 对象 */

NSString *str = @"哈哈哈,嘿嘿,啊哦,https://www.baidu.com,吼吼吼吼,嗯嗯嗯嗯,gakjfklj";

    NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc]initWithString:str];

    /** NSFontAttributeName --- 设置字体大小 */
    [attributeStr addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:20] range:NSMakeRange(0, 3)];

    /** NSForegroundColorAttributeName --- 设置字体颜色 */
    [attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 3)];

    [attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(10, 21)];

    /** NSParagraphStyleAttributeName --- 设置段落格式 (暂无明显变化) */
    NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc]init];
    style.headIndent = 16;
    [attributeStr addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0, attributeStr.length)];

    /** NSBackgroundColorAttributeName --- 设置字体的背景颜色 */

    [attributeStr addAttribute:NSBackgroundColorAttributeName value:[UIColor cyanColor] range:NSMakeRange(4, 2)];

    /** NSLigatureAttributeName --- 设置连体属性 (暂无明显变化)*/

    [attributeStr addAttribute:NSLigatureAttributeName value:[NSNumber numberWithInteger:1] range:NSMakeRange(7, 2)];

    /** NSKernAttributeName ---  设置字符间的间距,整数加大,负数减小*/

    [attributeStr addAttribute:NSKernAttributeName value:[NSNumber numberWithInteger:0] range:NSMakeRange(7, 1)];
//    [attributeStr addAttribute:NSKernAttributeName value:[NSNumber numberWithInteger:-10] range:NSMakeRange(7, 1)];

    /** NSStrikethroughStyleAttributeName ---  设置删除线*/

    [attributeStr addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:1] range:NSMakeRange(attributeStr.length - 8, 8)];

    /** NSStrikethroughColorAttributeName --- 设置删除线的颜色 */
    [attributeStr addAttribute:NSStrikethroughColorAttributeName value:[UIColor redColor] range:NSMakeRange(attributeStr.length - 8, 8)];

    /** NSUnderlineStyleAttributeName --- 设置下划线 */
    [attributeStr addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(10, 21)];

    [attributeStr addAttribute:NSLinkAttributeName value:[NSURL URLWithString:@"https://www.baidu.com/index.php?tn=monline_3_dg"] range:NSMakeRange(10, 21)];

    /** NSUnderlineColorAttributeName ---  设置下划线的颜色 */
    [attributeStr addAttribute:NSUnderlineColorAttributeName value:[UIColor redColor] range:NSMakeRange(10, 21)];

    /** NSStrokeWidthAttributeName --- 设置笔画宽度,取值为 NSNumber 对象(整数),负值填充效果,正值中空效果 */
    [attributeStr addAttribute:NSStrokeWidthAttributeName value:[NSNumber numberWithInteger:1] range:NSMakeRange(32, 4)];

    /** NSStrokeColorAttributeName --- 填充部分颜色,不是字体颜色,取值为 UIColor 对象 */
    [attributeStr addAttribute:NSStrokeColorAttributeName value:[UIColor magentaColor] range:NSMakeRange(32, 4)];

    /** NSShadowAttributeName --- 设置字体的阴影,取值为 NSShadow 对象 */
    NSShadow *shadow = [[NSShadow alloc]init];
    shadow.shadowColor = [UIColor orangeColor];
    shadow.shadowOffset = CGSizeMake(-2, -2);
    shadow.shadowBlurRadius = 2;
    [attributeStr addAttribute:NSShadowAttributeName value:shadow range:NSMakeRange(37, 4)];

    self.richLabel.attributedText = attributeStr;

时间: 2024-10-28 19:32:37

iOS NSMutableAttributedString 简单使用的相关文章

IOS 霓虹灯简单小程序

在RootViewController.m文件中 - (void)viewDidLoad//视图加载方法 - (void)viewDidLoad { //设置红色 UIView *viewRed = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 120, 30)]; viewRed.backgroundColor = [UIColor redColor]; [self.view addSubview:viewRed]; //设置橙色 UIVi

iOS 类似简单的第三方微博客户端,可进行登录微博浏览相关信息

Demo地址:https://github.com/ChenNan-FRAM/Fenvo (如果你觉得有用麻烦star一下感激不尽) Fenvo Objective-C, iOS 类似简单的第三方微博客户端,可进行登录微博浏览相关信息.在这个过程我是遇到很多的问题,但是大部分都顺利解决了,相信如果你的项目有类似的地方我的项目里面也能够给你提供一定的帮助,如果需要,可以给我留言或者在Github上联系我. UI简陋,暂未完善.有UI大师指点就最好了. 这个应用我是从开始学后为了实践自己的能力一直在

iOS之简单瀑布流的实现

iOS之简单瀑布流的实现 前言 超简单的瀑布流实现,这里说一下笔者的思路,详细代码在这里. 实现思路 collectionView能实现各中吊炸天的布局,其精髓就在于UICollectionViewLayout,因此我们要自定义一个layout来继承系统的UICollectionViewLayout,所有工作都在这个类中进行. 1.定义所需属性 瀑布流的思路就是,从上往下,那一列最短,就把下一个item放在哪一列,因此我们需要定义一个字典来记录每一列的最大y值 每一个item都有一个attrib

iOS上简单推送通知(Push Notification)的实现

http://blog.csdn.net/daydreamingboy/article/details/7977098 iOS上简单推送通知(Push Notification)的实现 根据这篇很好的教程(http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12),结合自己的实践,写下一点笔记,仅供参考:) 由于篇幅较长,我列出简单的目录,如下 1) 理解Apple推送通知的机制 2)

NSMutableAttributedString简单使用

1. //运行效果 self.attributeStringLabel.attributedText = [self getAttributedStringWithString:@"富为本属性字体" aString:@"颜色" aString:@"下划线"]; /** *  NSMutableAttributedString 简单使用demo方法 * *  @param str1 第一个属性字符串 *  @param str2 第一个属性字符串

iOS开发-简单解析JSON数据

什么是JSON ? JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) ? JSON的格式很像OC中的字典和数组 ? {"name" : "Jack", "age" : 10} {"name" : ["jack", "rose", "jim"]} ? 标准JSON格式的注意点: key必须用双

iOS UIPageControl简单实例

iOS UIPageControl简单范例 关于自动 滚动代码 有待补充 实例中的图片自行添加 .h 文件代码 #import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIScrollViewDelegate> { UIScrollView *_scrollView; NSMutableArray *slideImages; UIPageControl *_page; } @end .m 文件代码 #

iOS - NSMutableAttributedString的简单使用

1. 初始化 NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"YOUR_STRING"]; 还有一种初始化方法,直接在初始化时给String赋属性值: - (instancetype)initWithString:(NSString *)str attributes:(nullable NSDictionary<NSString *,

iOS实现简单图文混排效果

在很多新闻类或有文字展示的应用中现在都会出现图文混排的界面例如网易新闻等,乍一看去相似一个网页,其实这样效果并非由UIWebView 加载网页实现.现在分享一种比较简单的实现方式 iOS sdk中为我们提供了一套完善的文字排版开发组件:CoreText.CoreText库中提供了很多的工具来对文本进行操作,例如CTFont.CTLine.CTFrame等.利用这些工具可以对文字字体每一行每一段落进行操作. 此例中默认图片都在右上方,且为了美观和开发简便设定所占宽度都相同. 首先,需要引入Core