zoukankan      html  css  js  c++  java
  • ios--Attributes和ParagraphStyle介绍

    NSMutableParagraphStyle的部分属性:

    typedef NS_ENUM(NSInteger, NSLineBreakMode) {/* What to do with long lines */  
        NSLineBreakByWordWrapping = 0,     /* Wrap at word boundaries, default */  
        NSLineBreakByCharWrapping,/* Wrap at character boundaries */  
        NSLineBreakByClipping,/* Simply clip */剪掉后面显示不了的部分  
        NSLineBreakByTruncatingHead,/* Truncate at head of line: "...wxyz" */头部分的内容以……方式省略  
        NSLineBreakByTruncatingTail,/* Truncate at tail of line: "abcd..." */结尾部分的内容以……方式省略  
        NSLineBreakByTruncatingMiddle/* Truncate middle of line:  "ab...yz" */中间部分的内容以……方式省略  
    } NS_ENUM_AVAILABLE_IOS(6_0);  
      
      
      
      
      
    typedef NS_ENUM(NSInteger, NSWritingDirection) {  
        NSWritingDirectionNatural       = -1,    // Determines direction using the Unicode Bidi Algorithm rules P2 and P3  
        NSWritingDirectionLeftToRight   =  0,    // Left to right writing direction 左到右的书写方向  
        NSWritingDirectionRightToLeft   =  1    // Right to left writing direction 右到左的书写方向  
    } NS_ENUM_AVAILABLE_IOS(6_0);  
      
      
      
      
      
      
      
     //   NSParagraphStyleAttributeName 段落的风格(设置首行,行间距,对齐方式什么的)看自己需要什么属性,写什么  
        NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];  
        paragraphStyle.lineSpacing = 10;// 字体的行间距  
        paragraphStyle.firstLineHeadIndent = 20.0f;//首行缩进  
        paragraphStyle.alignment = NSTextAlignmentJustified;//(两端对齐的)文本对齐方式:(左,中,右,两端对齐,自然)  
        paragraphStyle.lineBreakMode = NSLineBreakByTruncatingTail;//结尾部分的内容以……方式省略 ( "...wxyz" ,"abcd..." ,"ab...yz")  
        paragraphStyle.headIndent = 20;//整体缩进(首行除外)  
        paragraphStyle.tailIndent = 20;//  
        paragraphStyle.minimumLineHeight = 10;//最低行高  
        paragraphStyle.maximumLineHeight = 20;//最大行高  
        paragraphStyle.paragraphSpacing = 15;//段与段之间的间距  
        paragraphStyle.paragraphSpacingBefore = 22.0f;//段首行空白空间/* Distance between the bottom of the previous paragraph (or the end of its paragraphSpacing, if any) and the top of this paragraph. */  
        paragraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight;//从左到右的书写方向(一共➡️三种)  
        paragraphStyle.lineHeightMultiple = 15;/* Natural line height is multiplied by this factor (if positive) before being constrained by minimum and maximum line height. */  
        paragraphStyle.hyphenationFactor = 1;//连字属性 在iOS,唯一支持的值分别为0和1  
      
      
      
      
      
      
      
    /* 
         NSFontAttributeName 字体大小 
         NSParagraphStyleAttributeName 段落的风格(设置首行,行间距,对齐方式什么的) 
         NSKernAttributeName 字间距 
         */  
        NSDictionary *attributes = @{  
                                     NSFontAttributeName:[UIFont systemFontOfSize:15],  
                                     NSParagraphStyleAttributeName:paragraphStyle,  
                                     NSKernAttributeName:@(10),  
                                                                    
                                     };  
        textView.attributedText = [[NSAttributedString alloc] initWithString:textView.text attributes:attributes];

    1.NSKernAttributeName: @10 调整字句 kerning 字句调整              

    2.NSFontAttributeName : [UIFont systemFontOfSize:_fontSize] 设置字体    

    3.NSForegroundColorAttributeName :[UIColor redColor] 设置文字颜色      

    4.NSParagraphStyleAttributeName : paragraph 设置段落样式            

    5.NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];

    paragraph.alignment = NSTextAlignmentCenter;

    6.NSBackgroundColorAttributeName: [UIColor blackColor] 设置背景颜色        

    7.NSStrokeColorAttributeName设置文字描边颜色,需要和NSStrokeWidthAttributeName设置描边宽度,这样就能使文字空心.

    NSStrokeWidthAttributeName这个属性所对应的值是一个 NSNumber 对象(小数)。该值改变描边宽度(相对于字体size 的百分比)。默认为 0,即不改变。正数只改变描边宽度。负数同时改变文字的描边和填充宽度。例如,对于常见的空心字,这个值通常为3.0。

    同时设置了空心的两个属性,并且NSStrokeWidthAttributeName属性设置为整数,文字前景色就无效果了

    效果:

    效果:

    8. NSStrikethroughStyleAttributeName 添加删除线,strikethrough删除线      

    效果:

    9. NSUnderlineStyleAttributeName 添加下划线                      

    效果:

    10. NSShadowAttributeName 设置阴影,单独设置不好使,必须和其他属性搭配才好使。  

    和这三个任一个都好使,NSVerticalGlyphFormAttributeName,NSObliquenessAttributeName,NSExpansionAttributeName

    11.NSVerticalGlyphFormAttributeName                      

    该属性所对应的值是一个 NSNumber 对象(整数)。0 表示横排文本。1 表示竖排文本。在 iOS 中,总是使用横排文本,0 以外的值都未定义。

    效果:

    12. NSObliquenessAttributeName设置字体倾斜。Skew 斜                

    效果:

    13. NSExpansionAttributeName 设置文本扁平化                    

    效果:

    原文链接:iOS- 详解文本属性Attributes

           NSMutableParagraphStyle /NSParagraphStyle

  • 相关阅读:
    Mybatis问题记录-狂神版
    Uni-App开发记录
    某笔试题目--修复回文
    人生就是一个苏醒的过程
    今天早上进入你的空间突然发现咱们以前的东西都不见了,点开你的情侣空间.....
    青春物语
    中小学、幼儿园教师资格认定
    换屏
    oracle 语句
    Packet for query is too large (1057 > 1024)解决
  • 原文地址:https://www.cnblogs.com/On1Key/p/5324976.html
Copyright © 2011-2022 走看看