LinkTextView

背景

在開(kāi)發(fā)中,有時(shí)需要展示一句帶有某些可接受用戶(hù)響應(yīng)的關(guān)鍵詞的文案,比如在頁(yè)面上顯示某某協(xié)議之類(lèi)的。如果一行能完全顯示(各種設(shè)備上),那么就可以在界面上寫(xiě)死布局;如果不能顯示,則就需要使用UITextView控件了。

效果圖

LinkTextViewDemo.png


圖中,《XXXX規(guī)則》是可點(diǎn)擊的,并且可以完美的適配各個(gè)設(shè)備。廢話(huà)少說(shuō),直接上代碼 ↓

核心代碼

override func viewDidLoad() {
    super.viewDidLoad()
    let str1 = "我已知曉XXXXXX產(chǎn)品風(fēng)險(xiǎn)、XXXXXX交易規(guī)則并確認(rèn)根據(jù)"
    let linkedStr = "《XXXX規(guī)則》"
    let str2 = "執(zhí)行交易。"
    let str = "\(str1)\(linkedStr)\(str2)"
    let attributedString = NSMutableAttributedString(string: str)
    let startIndex = str1.characters.count
    let endIndex = linkedStr.characters.count
    let range = NSMakeRange(startIndex, endIndex)
    
    attributedString.addAttribute(NSLinkAttributeName, value: "gotoAgreement", range: range)
    textView.attributedText = attributedString
    let attrs = [NSForegroundColorAttributeName: UIColor.red]
    textView.linkTextAttributes = attrs
    maticallyAdjustsScrollViewInsets = false
    textView.isEditable = false
    View.isSelectable = true
}
    
// MARK: - <UITextViewDelegate>
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange) -> Bool {
    if URL.absoluteString == "gotoAgreement" {
        // 處理點(diǎn)擊事件
        navigationController?.pushViewController(SecondViewController(), animated: true)
        return false
    }
    return true
}

Demo下載

點(diǎn)我進(jìn)入下載頁(yè)面

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,276評(píng)論 25 708
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,526評(píng)論 4 61
  • 今天是來(lái)臺(tái)灣的第七天,今晚突然有點(diǎn)想寫(xiě)點(diǎn)東西的沖動(dòng),首先想到的是發(fā)發(fā)朋友圈好了嘛,可仔細(xì)一想好像不是太合適,因...
    不太會(huì)講話(huà)的傻瓜閱讀 455評(píng)論 0 0
  • 高聳入雲(yún), 一飛沖天。 尖刀似的雪白的巨石, 奇峰異嶺的西嶽華山。 橫過(guò)來(lái)長(zhǎng)的樹(shù)木, 直插入石峰間。 那長(zhǎng)空棧道,...
    迷你小詩(shī)人閱讀 264評(píng)論 0 2

友情鏈接更多精彩內(nèi)容