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

标签 ios iphone objective-c uiscrollview

我的 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/

相关文章:

iphone - UITableViewCell 自定义图片大小、阴影和边框

iphone - 如何在 iOS 上从 pdf 文件中提取给定页面?

objective-c - 处理 NSError 时理解 'potential null dereference'

objective-c - 当有人在 Objective-C 类/对象中使用特定方法时限制使用/生成编译错误

iphone - 如何避免 iPhone 中的 Web 服务(ASIHTTPRequest)响应延迟?

iphone - 从 iOS 应用程序向 RESTful Web 服务发送数据

iphone - 从钥匙串(keychain)访问导出公钥

iphone - UIImage 从服务器逐步显示

iphone - 企业许可证的应用内购买功能的相关性

objective-c - 在 cocos2d 游戏中,如何允许两个操纵杆同时输入?