Моя рабочая область, размещенная на слое, работает так, что использование CATiledLayers для сотен изображений прекрасно работает, когда рабочая область существенно уменьшена.Все изображения используют представления с более низким разрешением, и мое приложение намного быстрее реагирует на панорамирование и масштабирование большого количества изображений.
Однако в моем приложении я также предоставляю пользователю возможность изменять размеры слоев с помощью ручки изменения размера.До того, как я преобразовал слои изображения в CATiledLayers, я делал изменения размеров слоя, манипулируя границами слоя изображения в соответствии с дельтой изменения размера (перетаскивание мышью), и это работало хорошо.Но теперь, когда CATiledLayers на месте, это приводит к тому, что CATiledLayers запутывается, когда я смешиваю изменение размеров слоев с помощью манипулирования границами и масштабирования / уменьшения масштаба рабочего пространства с помощью преобразований масштаба.
В частности, если я изменю размер CATiledLayer до половины размера ширины / высоты (1/4 площади), изображение внутри него внезапно масштабируется до еще 1/2 уменьшенного размера кадра, оставляя 3/4рамка пуста.Похоже, это происходит именно тогда, когда вызывается внутренняя логика CATiledLayer, чтобы обеспечить представление изображения с более низким разрешением.Это прекрасно работает, если я не касаюсь обработчика изменения размера и просто увеличиваю / уменьшаю масштаб рабочего пространства.
Есть ли способ сделать игру масштабирования / изменения размера приятной вместе с CATiledLayers, или мне придется преобразовать мойлогика изменения размера слоя для использования масштабных преобразований вместо манипуляций с границами?