Мне нравится делать PKCanvasView
прокручиваемым и масштабируемым с изображением подложки. Кажется, можно сделать его прокручиваемым и масштабируемым, не накладывая фоновое изображение. Но чтобы сделать это с нижележащим изображением, я не знаю, как заставить его работать.
Поскольку PKCanvasView
является подклассом UIScrollView
, я попытался разместить пользовательский контент UIView
в режиме прокрутки, а затем установить делегат, чтобы указать это представление для масштабирования. Но изображение чертежа PKCanvasView
и представление содержимого не будут синхронизировать свои позиции при масштабировании, это нормально с прокруткой.
+ UIView (root view)
+ PKCanvasView
+ Custom UIView (underlaying image drawing)
Затем я попробовал PKCanvasView
как просто представление содержимого внутри другого UIScrollView
, рассматривать PKCanvasView
как просмотр без прокрутки. Затем я синхронизирую позиции между рисунком PKCanvasView
и изображением чертежа контейнера. Тем не менее, я не уверен, может ли PKCanvasView
не быть предназначен для нахождения под другим UIScrollView
, поведение позиционирования линейки пальцем нестабильно, постоянно перемещается с места на место путем перетаскивания.
+ UIView (root view)
+ UIScrollView
+ Custom UIView (underlaying image drawing)
+ PKCanvasView
Насколько мне известно, большая часть кода примера PKCanvasView
работает хорошо без увеличения изображения с нижележащим изображением. Но однажды я установил maximumZoomScale
на 2 или больше. Тогда он больше не синхронизирует рисунки и фоновое изображение.
Спасибо