使用Swift iOS13在UITextView中自定义嵌入式超链接

问题描述 投票:0回答:1

自安装iOS13以来,UITextView扩展仅自定义文本本身周围的背景(为白色),而不是整个UITextView。

如何确保整个UITextview对象的背景颜色更改为白色?

enter image description here

Extention:

extension UITextView {


    func hyperLink(originalText: String, hyperLink: String, urlString: String) {

        let style = NSMutableParagraphStyle()
        style.alignment = .center

        let attributedOriginalText = NSMutableAttributedString(string: originalText)
        let linkRange = attributedOriginalText.mutableString.range(of: hyperLink)
        let fullRange = NSMakeRange(0, attributedOriginalText.length)
        attributedOriginalText.addAttribute(NSAttributedString.Key.link, value: urlString, range: linkRange)
        attributedOriginalText.addAttribute(NSAttributedString.Key.paragraphStyle, value: style, range: fullRange)
        attributedOriginalText.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.black, range: fullRange)
        attributedOriginalText.addAttribute(NSAttributedString.Key.backgroundColor, value: UIColor.white, range: fullRange)
        attributedOriginalText.addAttribute(NSAttributedString.Key.font, value: UIFont.systemFont(ofSize: 11), range: fullRange)

        self.linkTextAttributes = [
            kCTForegroundColorAttributeName: UIColor.black,
            kCTUnderlineStyleAttributeName: NSUnderlineStyle.single.rawValue,
            ] as [NSAttributedString.Key : Any]

        self.attributedText = attributedOriginalText

    }//end func
}

用法:

class LoginVC: UIViewController {

    @IBOutlet weak var disclaimerTextView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()

        disclaimerTextView.hyperLink(originalText: "By continuing, you agree to our Terms and Privacy Policy found on our website", hyperLink: "website", urlString: WEBSITE_URL)

    }
}

编辑:建议解决方案的输出-不起作用。

enter image description here

自安装iOS13以来,UITextView扩展仅自定义文本本身周围的背景(为白色),而不是整个UITextView。如何确保整个...

swift uitextview ios13
1个回答
0
投票

更改扩展名:

© www.soinside.com 2019 - 2024. All rights reserved.