今天需要用的一个字符按前后文字颜色不一样,也就是说一个字符串分成多个部分,每个部分的属性(颜色,字体,大小等)不一样,也就是富文本文字。
NSMutableAttributedString
直接上代码了
letmoneyTitle =NSMutableAttributedString.init(string: “传入的字符串”)
//moneyTitle.addAttribute(<#T##name: String##String#>, value: <#T##Any#>, range: <#T##NSRange#>)
//这个方法有3个属性:name-要改变的属性,value-改变属性的值,range-范围
//这段代码的意思就是,改变了字符串的颜色属性为蓝色,范围为第5个字符开始直到最后一个
moneyTitle.addAttribute(NSForegroundColorAttributeName, value:UIColor.bartBlue, range:NSRange.init(location:4, length: actTitle.characters.count-4))
//因为我是在按钮上用到的,所以是按钮添加富文本标题。范围这样写是之前我对传入的字符串做了.count > 4的判断的
btn.setAttributedTitle(moneyTitle, for: .normal)
效果图:
这个是一个颜色的例子,只是告诉大家有这么一个类,其他属性和方法网上都有,虽然OC的居多,但是翻译成swift就好了,我就搜索到这个人的文章http://www.jianshu.com/p/8f49c9c99b21 (如果介意请告知我,我会删除链接)
然后关于我的颜色定义,是swift里的扩展,如图:
这样子你可以将项目里的常用颜色写一个扩展,调用就是点语法,很方便。
这个弹框是产品设计的反iOS弹框(个人感觉),虽然我觉得很安卓,但是做出来又觉得还阔以。我也封装好了各种样式(这个是其中之一),有时间会把这个弹框的设计思路和代码分享给大家。
转载请注明出处,谢谢。
网友评论