国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 浠水县| 定陶县| 宜宾县| 鄂伦春自治旗| 屯昌县| 昌江| 霍邱县| 自贡市| 婺源县| 焉耆| 甘肃省| 东安县| 邯郸市| 阜平县| 峨眉山市| 泗洪县| 中西区| 明溪县| 喀喇沁旗| 江油市| 独山县| 襄樊市| 西和县| 南木林县| 房产| 古浪县| 陆丰市| 林甸县| 无极县| 监利县| 理塘县| 石景山区| 枞阳县| 泰顺县| 岳西县| 苗栗县| 临武县| 汪清县| 青海省| 红桥区| 大连市|