У меня была похожая проблема.Просто поместите контейнер вокруг него (UIView) и поместите UITextView в этот контейнер.Вы можете получить к нему доступ через mytextView.superview ...
Вот пример того, как вы создаете TextView с его контейнером ...
// SuperView of textView
let container = UIView()
self.scrollView.addSubview(container)
let textView = UITextView()
/*
your textView config
*/
container.addSubview(textView)
И просто устанавливаете ссылкувнутри метода делегата телевизора (не забудьте очистить его, если закончите редактирование)
// Delegate of UITextView...
func textViewDidBeginEditing(_ textView: UITextView) {
activeTextView = textView
currentIdentifier = textView.accessibilityIdentifier
}
Это фрагмент внутри наблюдателя (KeyboardDidShow / Hide)
// activeTextView was defined inside textView
if activeTextView != nil {
// now you can access it via textview.superview?
if let origin = activeTextView.superview?.frame.origin, let parentFrame = activeTextView.superview?.frame {
if !aRect.contains(origin) {
scrollView.scrollRectToVisible(parentFrame, animated:true)
}
}
}