zoukankan      html  css  js  c++  java
  • ios NSMutableAttributedString 详解 显示不同的字体和颜色的字符串

    
    
     1 NSMutableAttributedString *mutableString = [[NSMutableAttributedString alloc]initWithString:totalFee];
     2     [mutableString addAttribute:NSFontAttributeName
     3                           value:[UIFont systemFontOfSize:21.0]
     4                           range:NSMakeRange(3, totalFee.length - 3)];//设置字体
     5     [mutableString addAttribute:NSForegroundColorAttributeName
     6                           value:[UIColor redColor]
     7                           range:NSMakeRange(3, totalFee.length - 3)];//设置颜色
     8     [mutableString addAttribute:NSUnderlineStyleAttributeName
     9                           value:[NSNumber numberWithInteger:NSUnderlineStyleSingle]
    10                           range:NSMakeRange(0, totalFee.length)];//添加下划线
    11     sumLabel.attributedText = mutableString;

    NSAttributedString的初始化方法有:
      -initWithString:用String初始化,并没有Attributed信息。
      -initWithAttributedString:用AttributedString去初始化。
      -initWithString:Attributed:用string及attribute的dictionary来初始化。

    具体AttributtedString属性的键值对如下:
    1、NSString *const NSFontAttributeName;//值为UIFont,设置字体,默认值为12-point Helvetica(Neue) 。
    下面这段代码可以查看ios中可用的字体,具体那些字体长什么样,可以查看字体册工具。

    1 NSArray *familyArray = [UIFont familyNames];
    2 for (id family in familyArray) {
    3     printf(“%s
    ”,[family cStringUsingEncoding:NSUTF8StringEncoding]);
    4     NSArray *fontArray = [UIFont fontNamesForFamilyName:family];
    5     for (id font in fontArray) {
    6         printf(”   %s
    ”,[font cStringUsingEncoding:NSUTF8StringEncoding]);
    7     }
    8 }

    2、NSString *const NSParagraphStyleAttributeName;//值为NSParagraphStyle,设置段落属性,默认值为[NSParagraphStyle defaultParagraphStyle]返回的值。
    NSMutableParagraphStyle与NSParagraphStyle包括以下属性:
      alignment //对齐方式
      firstLineHeadIndent //首行缩进
      headIndent //缩进
      tailIndent  //尾部缩进
      lineBreakMode  //断行方式
      maximumLineHeight  //最大行高
      minimumLineHeight  //最低行高
      lineSpacing  //行距
      paragraphSpacing  //段距
      paragraphSpacingBefore  //段首空间
      baseWritingDirection  //句子方向
      lineHeightMultiple  //可变行高,乘因数。
      hyphenationFactor //连字符属性
    3、NSString *const NSForegroundColorAttributeName;//值为UIColor,字体颜色,默认为黑色。
    4、NSString *const NSBackgroundColorAttributeName;//值为UIColor,字体背景色,默认没有。
    5、NSString *const NSLigatureAttributeName;//值为整型NSNumber,连字属性,一般中文用不到,在英文中可能出现相邻字母连笔的情况。0为不连笔;1为默认连笔,也是默认值;2在ios 上不支持。
    6、NSString *const NSKernAttributeName;//值为浮点数NSNumber,字距属性,默认值为0。
    7、NSString *const NSStrikethroughStyleAttributeName;//值为整型NSNumber,可取值为
    enum {
      NSUnderlineStyleNone = 0×00,
      NSUnderlineStyleSingle = 0×01,
    };设置删除线。

    8、NSString *const NSUnderlineStyleAttributeName;//同上。设置下划线。
    9、NSString *const NSStrokeColorAttributeName;//值为UIColor,默认值为nil,设置的属性同ForegroundColor。
    10、NSString *const NSStrokeWidthAttributeName;//值为浮点数NSNumber。设置比画的粗细。
    11、NSString *const NSShadowAttributeName;//值为NSShadow,设置比画的阴影,默认值为nil。
    12、NSString *const NSVerticalGlyphFormAttributeName;//值为整型NSNumber,0为水平排版的字,1为垂直排版的字。

  • 相关阅读:
    对C#下函数,委托,事件的一点理解!
    Firefox XPI插件安装方法
    assert()函数用法总结
    Linux下rsync的用法
    windows XP下如何切换用户到Administrator
    预编译命令#pragma once与 #ifndef的区别
    DOS命令下获取远程主机MAC地址的三种方法
    net send命令详解
    Linux守护进程详解(init.d和xinetd)
    如何在真机上调试Android应用程序(图文详解)
  • 原文地址:https://www.cnblogs.com/codemakerhj/p/4788341.html
Copyright © 2011-2022 走看看