iOS:个性化UITextView(缩进,行距,铺满)
总体来说个性化定制UITextView中的内容有两种方法:
1,从文件中读取内容到UITextView,这个个人感觉使用rtfd和rtf格式文件效果非常好。
2,使用NSAttributeString进行定制
具体方法如下:
- NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];
- paragraphStyle.lineHeightMultiple = 20.f;
- paragraphStyle.maximumLineHeight = 25.f;
- paragraphStyle.minimumLineHeight = 15.f;
- paragraphStyle.firstLineHeadIndent = 20.f;
- paragraphStyle.alignment = NSTextAlignmentJustified;
- NSDictionary *attributes = @{ NSFontAttributeName:[UIFont systemFontOfSize:14], NSParagraphStyleAttributeName:paragraphStyle, NSForegroundColorAttributeName:[UIColor colorWithRed:76./255. green:75./255. blue:71./255. alpha:1]
- };
- textView.attributedText = [[NSAttributedString alloc]initWithString:content attributes:attributes];
当然也可以初始化一个NSMutableAttributedString,然后向里面添加文字样式,最后将它赋给textView的AttributedText即可
- NSMutableAttributedString *atr = [[NSMutableAttributedString alloc]initWithString:detail];
- [atr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14] range:NSMakeRange(0, detail.length)];
- textView.attributedText = atr;
另外,对于textview中的链接样式,同样也可以定制
- NSDictionary *linkAttributes = @{NSForegroundColorAttributeName: [UIColor blueColor],
- NSUnderlineColorAttributeName: [UIColor blackColor],
- NSUnderlineStyleAttributeName: @(NSUnderlinePatternDash)};
- self.linkTextAttributes = linkAttributes;
这里只是个简单的例子,具体还有很多属性可以自行参考头文件
分类:
ios
【推荐】FlashTable:表单开发界的极速跑车,让你的开发效率一路狂飙
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C#.Net筑基-泛型T & 协变逆变
· dotnet 代码调试方法
· DbContext是如何识别出实体集合的
· 一次 .NET 性能优化之旅:将 GC 压力降低 99%
· MySQL索引完全指南:让你的查询速度飞起来
· 我救了一个网站,性能提升了1500 多倍!
· .NET程序员的多语言笔记本:Polyglot Notebook
· 免费开源 .NET OpenCV 迷你运行时全平台发布
· 经验贴!万字总结网卡丢包及ping延迟等网络问题排查思路
· 用好索引的10条军规