1

我知道这个主题有很多主题,但我没有找到解决我问题的好方法。我有一个 UIScrollView,其中包含作为子视图添加的图像和其他组件。我只想知道在缩放时实时调整组件大小的好方法。

- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
    // Resizing image and other components
}

编辑:我希望滚动视图内的组件在缩放时保持相同大小。我不希望它们在缩放过程中变大或变小。

编辑:这是我的 UIViewController 的层次结构

  • 看法
    • 滚动视图
      • 主视图
        • 图像视图
        • 绘图视图(带有 UILabel、其他 UIView 等组件的 UIView...)

非常感谢 !

4

1 回答 1

1

我将保持 UIScrollView 的比例不变,并在子视图的帮助下达到目标(调整其大小,而不是滚动视图),我将在其中放置所有子视图和您使用的图像。所以它会是这样的:

yourView.transform = CATransform3DMakeScale(newScale, newScale, 1.0);

其中yourView是 scrollView 的主要(唯一)子视图。然后我会用新的比例重新计算yourView的大小,并将其设置为 scrollView 的contentSize参数,这样你就可以真正滚动放大的内容,而不仅仅是看到它被截断。

唯一的问题是,在这种情况下,您应该使用scrollViewDidZoom 以外的回调:我猜。

PS 改变 UIView 的变换参数你不需要担心子视图的比例:CoreAnimation 为你做一切。

于 2012-10-17T09:42:52.597 回答