Почему все мои представления Интерфейсного Разработчика ждут, пока один из них не будет сделан прежде, чем загрузить? - PullRequest
0 голосов
/ 16 июня 2011

У моего IB есть несколько подвидов.Одним из них является пользовательское представление с пользовательским методом drawRect.Чего я не понимаю, так это того, что все виды в моем IB не будут отображаться, пока этот один пользовательский вид не будет нарисован.В идеале я хотел бы, чтобы другие виды отображались на экране, пока пользовательский вид все еще работает.Есть ли простой способ сделать это?

Пользовательское представление находится внизу иерархии, а другие подпредставления появляются поверх него.

1 Ответ

1 голос
/ 16 июня 2011

Рисование, как правило, происходит задом наперед, потому что то, что рисует вид, может быть совмещено с тем, что нарисовано за ним.Исключение может быть сделано для непрозрачных представлений (тех, которые отвечают на -isOpaque с YES), которые по определению не зависят от содержимого, нарисованного за ними.

Если рисование занимает значительное количество времениВы должны рассмотреть рисование в буфер вне основного потока, а затем обновить содержимое представления с этим предварительно скомпонованным изображением.Затем вы заменили бы свой пользовательский вид на обертку вокруг UIImageView, что занимает столько же времени, сколько требуется для рисования изображения, а затем обновляет изображение, отображаемое представлением изображения.(Это в основном ручная двойная буферизация.)

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