麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Swift > 正文

Swift 3.0將UILabel數字顏色設置為紅色的方法

2020-03-09 17:46:22
字體:
來源:轉載
供稿:網友

實現需求

這篇文章源于群友的一個問題:如何把『注:此商品只能整件(12的倍數發貨),已選1袋,還差11袋』這段文字中的數字使用紅色在 UILabel 中顯示?

實現思路

我們可以使用UILabel 的 attribute string 屬性,通過正則表達式匹配獲取數字的范圍,然后添加對應的 attribute。

實現代碼

下面是實現代碼,使用 swift 3.0 編寫:

//根據正則表達式改變文字顏色func changeTextChange(regex: String, text: String, color: UIColor) -> NSMutableAttributedString{ let attributeString = NSMutableAttributedString(string: text) do {  let regexExpression = try NSRegularExpression(pattern: regex, options: NSRegularExpression.Options())  let result = regexExpression.matches(in: text, options: NSRegularExpression.MatchingOptions(), range: NSMakeRange(0, text.characters.count))  for item in result {   attributeString.addAttribute(NSForegroundColorAttributeName, value: color, range: item.range)  } } catch {  print("Failed with error: /(error)") } return attributeString}let text = "注:此商品只能整件(12的倍數發貨),已選1袋,還差11袋"let renderLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 800, height: 30))renderLabel.textAlignment = NSTextAlignment.centerrenderLabel.backgroundColor = UIColor.lightGrayrenderLabel.font = UIFont.boldSystemFont(ofSize: 20)renderLabel.attributedText = changeTextChange(regex: "//d+", text: text, color: UIColor.red)

可以把以上這段代碼放到 playground 里面運行。

當然,這里可以不使用正則表達式,用其他方法也可以做到,但是正則表達式的做法比較靈活,以后如果有新的需求可以直接修改正則表達式就可以實現。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品一区99 | 国产自在线 | 久久最新免费视频 | 免费一区区三区四区 | 欧美激情在线播放 | 作爱在线观看 | cosplay裸体福利写真 | 久久人操| 欧美视频一二区 | 91成人免费看 | 蜜桃视频在线免费观看 | 一级成人毛片 | 亚洲精品无码不卡在线播放he | 毛片视频在线免费观看 | 国内精品久久久久久久久久 | 成人免费观看av | 久久美女免费视频 | 黄色大片网 | 毛片网站视频 | 国产精品高潮视频 | 久综合| 国产女同玩人妖 | 久久综合av | 免费毛片视频 | 激情宗合网 | 午夜色视频在线观看 | 一区二区三区日韩精品 | 一区二区三区小视频 | 久久影院国产精品 | 欧美一级做一级爱a做片性 久久久资源网 | 欧美一级黄视频 | 91在线色 | 羞羞电影在线观看www | 91av在线国产| 亚洲精品一区二区三区大胸 | 96视频在线免费观看 | 毛片免费网 | 日本视频在线播放 | 欧美日韩在线中文 | 国产一区免费 | 免费黄色入口 |