国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Swift > 正文

Swift 3.0將UILabel數(shù)字顏色設(shè)置為紅色的方法

2020-03-09 17:46:22
字體:
供稿:網(wǎng)友

實現(xiàn)需求

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

實現(xiàn)思路

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

實現(xiàn)代碼

下面是實現(xiàn)代碼,使用 swift 3.0 編寫:

//根據(jù)正則表達式改變文字顏色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的倍數(shù)發(fā)貨),已選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 里面運行。

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

總結(jié)

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


注:相關(guān)教程知識閱讀請移步到swift教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 德保县| 体育| 大姚县| 徐州市| 临清市| 砚山县| 胶州市| 鹤庆县| 普定县| 长泰县| 阳谷县| 弋阳县| 巢湖市| 定远县| 扎鲁特旗| 丰县| 巴林左旗| 甘洛县| 灵川县| 安远县| 兴国县| 伊通| 钟山县| 和顺县| 桂平市| 张家口市| 兰州市| 阜阳市| 铜鼓县| 金堂县| 甘肃省| 筠连县| 中西区| 西盟| 托克逊县| 渭源县| 江华| 荆州市| 霍州市| 丹寨县| 溧水县|