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