У меня есть приложение, которое имеет три вложенных представления, которые являются механически важными, но не имеют визуальных элементов:
- Ванильный UIView, который не имеет собственного содержимого и просто используется в качестве хоста для CALayers.
- UIScrollView (который запрашивается для его происхождения и используется для позиционирования CALayers в 3d: я действительно использую это представление только для точной репликации "механики" представления прокрутки),
- Содержание представления прокрутки: подкласс UIView. Он просто регистрирует сенсорные события и передает их делегату - все, что важно, это его механизм UIResponder.
UIView, размещающий CALayers, является родственным UIImageView, который является фоновым изображением, на котором рисуются CALayers.
Я бы действительно хотел убедиться, что ни один из этих пустых UIViews не имеет каких-либо накладных расходов на рисование или компоновку (во времени или в хранилище), связанных с ними, или, если это невозможно, чтобы получить эти накладные расходы как можно меньше, и чтобы понять это так, чтобы я, возможно, мог решить, должен ли я попробовать другой подход.
В конструкторе интерфейсов я установил все виды так, чтобы они не очищали их контекст перед рисованием. Я не устанавливал их непрозрачными, потому что они определенно не непрозрачны - они полностью прозрачны. Я обнаружил, что мне нужно придать содержимому вида прокрутки прозрачный прозрачный цвет (снова в IB, установив непрозрачность цветового фона на ноль), и это говорит о том, что он рисуется, чего я не хочу.
Итак, короче говоря, я не очень хорошо представляю, что происходит и что не привлекается (кто-нибудь знает такой инструмент, как Quartz Debug для iPhone / симулятора?), Или как не мешать рисованию. .
Совет будет очень кстати! Спасибо, Бенжон