·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> iOS:个性化UITextView(缩进,行距,铺满)

iOS:个性化UITextView(缩进,行距,铺满)

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

总体来说个性化定制UITextView中的内容有两种方法:

1,从文件中读取内容到UITextView,这个个人感觉使用rtfd和rtf格式文件效果非常好。

2,使用NSAttributeString进行定制

具体方法如下: 

  1. NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];  
  2.     paragraphStyle.lineHeightMultiple = 20.f;  
  3.     paragraphStyle.maximumLineHeight = 25.f;  
  4.     paragraphStyle.minimumLineHeight = 15.f;  
  5.     paragraphStyle.firstLineHeadIndent = 20.f;  
  6. paragraphStyle.alignment = NSTextAlignmentJustified;  
  7.   
  8. NSDictionary *attributes = @{ NSFontAttributeName:[UIFont systemFontOfSize:14], NSParagraphStyleAttributeName:paragraphStyle, NSForegroundColorAttributeName:[UIColor colorWithRed:76./255. green:75./255. blue:71./255. alpha:1]  
  9.                                  };  
  10.  textView.attributedText = [[NSAttributedString alloc]initWithString:content attributes:attributes];  

 

当然也可以初始化一个NSMutableAttributedString,然后向里面添加文字样式,最后将它赋给textView的AttributedText即可 

  1. NSMutableAttributedString *atr = [[NSMutableAttributedString alloc]initWithString:detail];  
  2.     [atr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14] range:NSMakeRange(0, detail.length)];  
  3.     textView.attributedText = atr;  

 

另外,对于textview中的链接样式,同样也可以定制 

  1. NSDictionary *linkAttributes = @{NSForegroundColorAttributeName: [UIColor blueColor],  
  2.                                      NSUnderlineColorAttributeName: [UIColor blackColor],  
  3.                                      NSUnderlineStyleAttributeName: @(NSUnderlinePatternDash)};  
  4. self.linkTextAttributes = linkAttributes;  

 

这里只是个简单的例子,具体还有很多属性可以自行参考头文件