kat*_*000 3 objective-c uitextview uikit ios swift
我面临一个非常奇怪的错误。当我在其中粘贴任何内容时UITextView,我会收到令人惊讶的动画故障。
要重现它,我刚刚创建了black .xcodeproj,通过Storyboard 添加UITextView到其中ViewController并运行了该应用程序。
我发现的唯一类似问题是https://twitter.com/twostraws/status/972914692195790849
,它说这是UIKitiOS11中的错误。但是我的iPhone上有很多应用程序UITextview都可以在iOS11上正常运行。您可以在此处的视频中看到错误-https: //twitter.com/twostraws/status/972914692195790849
任何建议或帮助,将不胜感激。我尝试了什么?-尝试以最小的更改进行新的清晰项目;-禁用所有自动更正类型;-消除了限制;-在具有不同版本(11.2.5和11.4.2)的多个iPhone上试用。
原始项目已附加。它是由上Swift 4.1与Xcode 9.4(9F1027a)
https://ufile.io/fzyj8
我检查了iPhone上的其他一些应用程序Todoist,发现那里存在相同的错误。但我也找到了解决方案。我希望苹果公司能够紧急修复此错误。
因此,您可以实施UITextPasteDelegate和禁用粘贴时动画。该API仅在iOS11 +上可用,但似乎该错误也仅在iOS11上重现。
class ViewController: UIViewController {
@IBOutlet weak var textView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
textView.pasteDelegate = self
}
}
extension ViewController: UITextPasteDelegate {
func textPasteConfigurationSupporting(_ textPasteConfigurationSupporting: UITextPasteConfigurationSupporting, shouldAnimatePasteOf attributedString: NSAttributedString, to textRange: UITextRange) -> Bool {
return false
}
}
Run Code Online (Sandbox Code Playgroud)