【发布时间】:2012-09-24 13:33:59
【问题描述】:
我在UIView 中画了一个UIBezierPath。使用pinchGesture,我尝试将其放大和缩小。
缩放有效,但我的问题是UIBezierPath 向下/向上移动(如果它的尺寸增加,它会向下移动,如果尺寸减小它会向上移动)。
如何设置缩放的锚点以使UIBezierPath 中心保持在同一位置?
- (void)handlePinch:(UIPinchGestureRecognizer *)recognizer {
CGAffineTransform transform = CGAffineTransformScale(recognizer.view.transform,
recognizer.scale,
recognizer.scale);
[self.selectedObject applyAffineTransform:transform];
recognizer.scale = 1;
}
(selectedObject 是一个仅将affineTransform 应用于其UIBezierPath 的对象)
除了缩放之外,我还尝试应用平移以将其移回原来的位置,但我不知道如何找到平移的值,因此路径保持在同一个位置。
【问题讨论】:
标签: core-graphics scale cgaffinetransform uibezierpath cgaffinetransformscale