无需像素化即可放大UIView

时间:2017-08-04 14:04:55

标签: ios swift uiview drawing uibezierpath

我有一个使用UIBezierpaths(向量)的绘图应用程序,我试图创建一个允许我像其他绘图应用程序一样缩放画布/ UIView的功能。我不想扩大个别bezierpaths,我已经知道如何做到这一点。我想要一个缩放功能像safari 一样缩放画布/视图。

如果我使用以下代码:

self.transform = CGAffineTransform(scaleX: 2, y: 2)

此: enter image description here

变成这个,你会注意到它非常模糊/不平滑,就像矢量应该是: enter image description here

但我希望它看起来像这样,这是另一个绘图应用程序enter image description here

会发生的事情

我理解这个问题可能有一个复杂的答案,但我很难自己找到答案。

2 个答案:

答案 0 :(得分:0)

我制作了一个能够放大的绘图应用程序。我不记得我是如何设法处理这个的。 但我认为你绝对应该使用UIScrollView来管理缩放/拖动部分 UIImageView pinch zoom swift

你可以捏缩放,拖动等几乎免费。 并且我认为它不会像素化

答案 1 :(得分:0)

在图纸视图中添加UIPinchGestureRecognizerUIPanGestureRecognizer。然后处理来自它们的委托事件以更新您的比例和偏移量。然后,您最终使用生成的比例和偏移来重绘(通常通过调用setNeedsDisplay())。

我可以从经验中告诉你,这些计算有点棘手但可行。