问题示例代码:
class ViewController: UIViewController {
@IBOutlet weak var textView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
textView.isSelectable = true
textView.dataDetectorTypes = .all
let attributedString = NSMutableAttributedString(string: "Want to visit facebook?Want to visit google?")
attributedString.addAttribute(.link, value: URL(string: "https://www.google.com")!, range: NSRange(location: 14, length: 8))
attributedString.addAttribute(.link, value: URL(string: "https://www.facebook.com")!, range: NSRange(location: 36, length: 6))
textView.attributedText = attributedString
}
}
我要指出这是 iOS 13 的问题。iOS 12 按预期工作。建议的解决方法editable = YES
和处理方法textViewShouldBeginEditing:
适用于 VoiceOver,它修复了我们正在谈论的错误,但下一个问题是语音控制 + 显示数字功能 - 使用这种解决方法,链接的数字无法正常工作。