UITextView в UIScrollView прокручивают проблему

Я испытываю что-то, рассмотрел ошибку в моей ситуации. Вероятно, это не ошибка, а функция ;)

Вот мой случай:

Я загружаю UIScrollView своим содержанием. Часть моего содержания загружается asynchrone после того, как представление будет уже загружено. Это работает отлично и без проблемы. Некоторые из этих средств управления однако являются средствами управления UITextView. После того как я установил содержание (текстовое свойство) этих средств управления после viewDidLoad, который мой UIScrollView прокручивает вниз к последнему UITextView, который был установлен. Я хочу предотвратить это, и хотеть, чтобы UIScrollView поддержал, это - прокрученное положение вершины.

Таким образом: Если я установил текстовое свойство в viewDidLoad методе, никакая прокрутка не происходит. Если я установил текстовое свойство на UITextView после viewDidLoad метода (потому что я загружаю асинхронные данные), UIScrollView прокрутит в последний UITextView, который был установлен. Я хочу предотвратить эту прокрутку.

Как я достигаю этого? У меня есть чувство, что это - просто свойство, которое установлено неправильно, но я, может казаться, не нахожу его.

Заранее спасибо.

Править:

Я попытался установить "scrollEnabled" свойство на НЕ прежде, чем установить значения и на ДА после, но это не имело никакого эффекта. ScrollView все еще прокрутит, когда текстовое свойство UITextView будет установлено.

7
задан Gidogeek 22 July 2010 в 11:59
поделиться

2 ответа

Я исправил проблема с обходным решением:

Я установил размер содержимого прокрутки на что-то маленькое, например 320 x 300 или любую другую высоту рамки прокрутки, затем выполнил свою работу, затем вернул размер содержимого к нормальному.

Это предотвращает прокрутку во время загрузки данных и включает ее, как только загрузка завершается.

6
ответ дан 6 December 2019 в 21:09
поделиться

Это не изменит проблему прокрутки, но, возможно, сделает ее «скрытой» для пользователя:

yourTextView.text = @"Eat more bananas!";
yourScrollView.contentOffset = CGPointMake(0.0, 0.0);

Некоторые фрагменты вашего кода могут помочь решить проблему более конкретно.

РЕДАКТИРОВАТЬ: Или попробуйте добавить UITextViews в UIView, а затем добавьте UIView в UIScrollView. Убедитесь, что contentSize UIScrollView совпадает с размером UIView.

5
ответ дан 6 December 2019 в 21:09
поделиться