#swift #uiscrollview #textview
#swift #uiscrollview #textview
Вопрос:
У меня проблема с моим TextView. Когда я открываю контроллер с помощью TextView, текст находится не в верхней части, а в конце. Как я могу устранить эту ошибку в Xcode 10?
Я пробовал с этим кодом
extension UIScrollView {
func scrollToTop() {
let desiredOffset = CGPoint(x: 0, y: -contentInset.top)
setContentOffset(desiredOffset, animated: true)
}
}
Комментарии:
1. Вы звоните
scrollToTop
? Если да, то где?2. Я поставил перед расширением это «myScrollView.scrollToTop()»…. вы думаете, я назвал это хорошим?
3. Я думал, вы используете
UITextView
? ЯвляетсяmyScrollView
вашимUITextView
? Можете ли вы показать какой-нибудь код?4. Да, я использую UITextView….in в коде у меня ничего нет, только некоторый текст для UITexView и расширения ….. Я думаю, что расширение wrong…do у вас есть какое-то представление о том, как я могу это решить?
5. Расширение правильное. Вам нужно вызвать его, вероятно, в
viewDidLoad
. Вы должны сделатьmyTextView.scrollToTop()
вviewDidLoad
, гдеmyTextView
это имя вашего текстового представления.
Ответ №1:
Я отключаю прокрутку UITextView перед загрузкой представления, а затем снова включаю его:
override func viewWillAppear(_ animated: Bool) {
myTextView.isScrollEnabled = false
}
override func viewDidAppear(_ animated: Bool) {
myTextView.isScrollEnabled = true
}
Надеюсь, это сработает для вас!