在调整UIScrollView的大小时调整内容比例和偏移量

时间:2014-01-13 12:52:45

标签: ios iphone objective-c uiscrollview

我有两种布局状态的UI(除了肖像风景)。在每个状态中,UI的某些其他部分被暴露(更大)。

问题是UIScrollView对某些UIImageView进行了大小调整,并且在每种状态下都会显示图像的不同部分,因为比例和偏移量保持不变。

是否有一些很好的方法来更新此比例和偏移值,因此大小型UIScrollView显示的图像的大致相同部分?

1 个答案:

答案 0 :(得分:1)

UIScrollView方法怎么样

- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated

Rect是viewForZoomingInScrollView返回的视图坐标空间中的一个矩形:。

  • 确定正在显示缩放视图的矩形。
  • 更改您的视图,以便更改UIScrollView边界。
  • 执行zoomToRect以显示相同的内容,并根据需要进行缩放。

如果没有编译并运行它,它应该大约是......

CGSize rectSize;
rectSize.origin = scrollview.contentOffset;
rectSize.width = scrollview.bounds.size.width * scrollview.zoomScale;
rectSize.height = scrollview.bounds.size.height * scrollview.zoomScale;

// Do whatever makes the views change

[scrollView zoomToRect:rectSize animated:whateverYouLike];