我的 UI 具有两种布局状态(纵向-横向除外)。在每个状态下,UI 的其他部分都会暴露(更大)。
问题是 UIScrollView
和一些 UIImageView
在这些状态变化时调整大小,并且在每种状态下显示图像的不同部分,因为比例和偏移量保持不变。
是否有一些好的方法来更新此比例和偏移值,以便为大尺寸和小尺寸 UIScrollView
显示图像的或多或少相同部分?
最佳答案
UIScrollView方法怎么样
- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated
Rect 是 viewForZoomingInScrollView: 返回的 View 的坐标空间中的一个矩形。
- 确定显示缩放 View 的哪个矩形。
- 更改您的 View ,以便更改 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];
关于ios - 在调整 UIScrollView 大小时调整内容比例和偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21091814/