我知道这个主题有很多主题,但我找不到解决问题的好方法。 我有一个UIScrollView,其中包含一个图像和其他组件作为子视图添加。 我只是想知道在缩放时实时调整组件大小的好方法。
- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
// Resizing image and other components
}
编辑:我希望滚动视图中的组件在缩放时保持相同的大小。我不希望它们在缩放过程中变得更大或更小。
编辑:这是我的UIViewController的层次结构
非常感谢!
答案 0 :(得分:1)
我会保留UIScrollView的比例并在子视图的帮助下达到目标(调整它的大小,而不是scrollView的),我将放置所有子视图和你使用的图像。 所以它会是这样的:
yourView.transform = CATransform3DMakeScale(newScale, newScale, 1.0);
其中 yourView 是scrollView的主要(唯一)子视图。然后我会用新的比例重新计算 yourView 的大小,并将其设置为scrollView的 contentSize 参数,以便您可以实际滚动放大的内容,而不仅仅是看到它被截断。< / p>
唯一的一点就是在这种情况下你应该使用 scrollViewDidZoom以外的回调:我想。
P.S。更改UIView的转换参数,您无需担心子视图的比例:CoreAnimation会为您完成所有操作。