Прокрутите TextView наверх - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть текстовое представление (UITextView), которое отображает длинный текст , установленный во время выполнения , например:

@IBOutlet weak var textView: UITextView!

override func viewDidLoad() {
    super.viewDidLoad()

    if something {
        textView.text = "(very long text here)"
    }

    textView.contentOffset = CGPoint.zero  // doesn't work

}

К сожалению, когда отображается текстовое представление, текстне прокручивается вверх, но где-то посередине.

Я думаю, либо установка contentOffset является неправильным способом, либо я делаю это не в то время (возможно, текст меняется)1008 * после настройки contentOffset?).

Я много пробовал, даже связывался с Apple Code Level Support.Они не могли мне помочь, правда (что, черт возьми, удивило меня) - не могли бы вы?

Я был бы очень признателен.Спасибо.

Ответы [ 3 ]

0 голосов
/ 13 февраля 2019

У меня была очень похожая проблема, особенно при использовании splitview и тестирования на iPhoneX, я решил эту проблему, включив этот фрагмент кода в мой ViewController, когда мне понадобилось textView для прокрутки вверх:

textView.setContentOffset(.zero, animated: false)
textView.layoutIfNeeded()

Если вы хотите прокрутить верхнюю часть textView после загрузки вашего ViewController:

override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()

        // Can add an if statement HERE to limit when you wish to scroll to top
        textView.setContentOffset(.zero, animated: false)
}
0 голосов
/ 13 февраля 2019

Вам нужно использовать viewDidLayoutSubviews(), чтобы установить прокрутку сверху.

override func viewDidLayoutSubviews() {
   textView.setContentOffset(.zero, animated: false)
}
0 голосов
/ 13 февраля 2019

Возможно, вам придется написать больше информации / кода, потому что если вы попробуете этот кусок кода в чистом проекте только с одним VC с UITextView, вы увидите, что он действительно работает.Если вы действительно используете какое-то условие (if something), это может быть проблемой.Что это за something в вашем реальном коде?

...