我有一个使用UIBezierpaths(向量)的绘图应用程序,我试图创建一个允许我像其他绘图应用程序一样缩放画布/ UIView的功能。我不想扩大个别bezierpaths,我已经知道如何做到这一点。我想要一个缩放功能像safari 一样缩放画布/视图。
如果我使用以下代码:
self.transform = CGAffineTransform(scaleX: 2, y: 2)
会发生的事情
我理解这个问题可能有一个复杂的答案,但我很难自己找到答案。
答案 0 :(得分:0)
我制作了一个能够放大的绘图应用程序。我不记得我是如何设法处理这个的。 但我认为你绝对应该使用UIScrollView来管理缩放/拖动部分 UIImageView pinch zoom swift
你可以捏缩放,拖动等几乎免费。 并且我认为它不会像素化
答案 1 :(得分:0)
在图纸视图中添加UIPinchGestureRecognizer
和UIPanGestureRecognizer
。然后处理来自它们的委托事件以更新您的比例和偏移量。然后,您最终使用生成的比例和偏移来重绘(通常通过调用setNeedsDisplay()
)。
我可以从经验中告诉你,这些计算有点棘手但可行。