Создание подклассов UIScrollView для рисования без видов - PullRequest
1 голос
/ 28 марта 2010

Я размышляю над созданием подкласса UIScrollView (как это делает UITextView), чтобы рисовать довольно большой объем текста (отформатированный так, как NSTextView не может).

Пока вид фактически не будет прокручиваться. Я устанавливаю contentSize, и когда я перетаскиваю, я вижу индикатор прокрутки. Но ничего не меняется (и я не получаю сообщение drawRect:).

Альтернативный подход заключается в использовании дочернего представления, и я сделал это. Однако изображение может иметь высоту более 5000 пикселей, и меня немного беспокоит производительность на реальном устройстве.

(Другой подход, подобный UITableView, был бы огромной болью - я «портирую» код Mac Какао, а набор представлений - это огромное изменение архитектуры.)

Я провел поиск, но не нашел никого, кто использовал бы UIScrollView для рисования. Кто-нибудь делал это и знает о каких-либо подводных камнях?

1 Ответ

2 голосов
/ 28 марта 2010

Все, что делает UIScrollView, когда пользователь прокручивает, обновляет свой прямоугольник границ, что приводит к перемещению подпредставлений представлений прокрутки. Вы можете попробовать установить contentMode для вида прокрутки на UIViewContentModeRedraw. Из документов:

UIViewContentModeRedraw
Повторно отображает представление при изменении границ, вызывая метод setNeedsDisplay.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...