如何在不放大视图的情况下缩放视图?

How to pinch to zoom a view without making the view bigger?

这是我目前拥有的:

func handlePinching(recognizer : UIPinchGestureRecognizer) {
    self.layer.transform = CATransform3DMakeAffineTransform(CGAffineTransformScale(self.transform, recognizer.scale, recognizer.scale));
    recognizer.scale = 1.0;
}

为此使用 self.view.transform 也会使它变大。我想把它放大"internally"(我真的不知道怎么解释)

所以我不是 100% 肯定理解这个问题,但我想我明白了。

例如,您想在不缩放 UI(导航栏、按钮等)的其他元素的情况下缩放图像,对吗?

所以我猜你是在 viewController 中的示例,这意味着,当你更改 self.view 的比例时,你将缩放所有内容。您必须在要放大的特定视图上应用比例尺。

在下面的示例中,要放大图像,图像位于 UIImageView 内,而此 imageView 是 self.view 的子视图。您只需在此 imageView 上应用变换。

此外,我认为您对如何缩放有点困惑,考虑到您要缩放的视图是 imageView,您只需要执行

imageView.transform = CGAffineTransformMakeScale(recognizer.scale,recognizer.scale)

我希望这能回答你的问题,如果有什么不清楚的地方,请告诉我。