我有一个程序可以创建一个小的 UIImageView 来响应触摸,这样你就可以在超级视图周围拖动它。
我添加了一个 UIPinchGestureRecognizer 以向上和向下缩放图像。使用当前代码,图像可以完美地放大和缩小,但在新的捏合手势开始时会以 1.0 的比例重新开始。
我尝试使用 contentScaleFactor 来获取初始 ImageView 比例,但它始终为 1.0,因此很明显下面的代码无法正常工作。
- (void)doPinch:(UIPinchGestureRecognizer *)pinch {
if (pinch.state == UIGestureRecognizerStateBegan) {
initialScale = dragImage.contentScaleFactor;
} else {
CGFloat newScale = initialScale * pinch.scale;
CGAffineTransform transform = CGAffineTransformMakeScale(newScale,newScale);
dragImage.transform = transform;
}
}
此代码改编自 Apress 开始 iPhone 4 开发一书中的“捏我”示例。
由于 contentScaleFactor 不起作用,我是否需要使用核心图形属性?CGAffineTransformScale 和它有关系吗?
谢谢!