微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UITextView委托方法未使用Swift调用UITableViewCell

如何解决UITextView委托方法未使用Swift调用UITableViewCell

我正在尝试将特定文本作为链接,并且除我的链接文本未调用委托方法并且在长按应用程序上崩溃外,其他所有内容都正常运行。

即使我在其他控制器中执行了相同的功能,我也清楚地做了所有事情,它可以完美运行,但不能在我的其他控制器中工作。

我需要一些指导,例如可能我没有足够的信息。

class MobileLoadBundleCell: UITableViewCell,UITextViewDelegate {

//MARK: - IBOutlet

@IBOutlet weak var txtDescription: UITextView!

//MARK: - Variable

let urlApp = URL(string: "link")

override func awakeFromNib() {
    super.awakeFromNib()
    
    if self.reuseIdentifier == "BalanceCell" {
        self.txtDescription.delegate = self
    }
}

func configCell() {
    
    let str = "Check your remaining usage details from my app"
    let attributedString = NSMutableAttributedString(string: str)
    let foundRange = attributedString.mutableString.range(of: "my app")
    attributedString.addAttribute(.link,value: "my app",range: foundRange)
    
    let linkAttributes: [NSAttributedString.Key : Any] = [
        .foregroundColor: UIColor(named: "ColorSetPink")!,.underlineColor: UIColor(named: "ColorSetPink")!,.underlinestyle: NSUnderlinestyle.single.rawValue
    ]
    
    self.txtDescription.linkTextAttributes = linkAttributes
    self.txtDescription.attributedText = attributedString
}

func textView(_ textView: UITextView,shouldInteractWith URL: URL,in characterRange: NSRange,interaction: UITextItemInteraction) -> Bool {
    
    if (URL.absoluteString == "my app") {
        if let url = urlApp {
            UIApplication.shared.open(url)
        }
    }
    return false
}

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。