我知道该主题有很多主题,但是我没有找到解决问题的好方法。
我有一个UIScrollView,其中包含图像和其他组件作为子视图添加。
我只想知道缩放时实时调整组件大小的好方法。
- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
// Resizing image and other components
}
编辑:我想给人的印象是,缩放时滚动视图内的组件保持相同的大小。我不希望它们在缩放过程中变大或变小。
编辑:这是我的UIViewController的层次结构
视图
滚动视图
主视图
影像检视
绘图视图(带有UILabel,其他UIView等组件的UIView)
非常感谢 !
最佳答案
我将保持UIScrollView的比例不变,并在子视图的帮助下达到目标(调整其大小,而不是scrollView的大小),在该位置放置所有子视图和要使用的图像。
因此,它将类似于:
yourView.transform = CATransform3DMakeScale(newScale, newScale, 1.0);
其中yourView是scrollView的主要(唯一)子视图。然后,我将使用新的比例重新计算yourView的大小,并将其设置为scrollView的contentSize参数,以便您实际上可以滚动显示放大后的内容,不仅看到它被截断了。
唯一的事情是在这种情况下,您应该使用除scrollViewDidZoom之外的回调:我想。
附言更改UIView的transform参数,您无需担心子视图的比例:CoreAnimation会为您做所有事情。
关于ios - 缩放时调整UIScrollView的内容大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12931201/