我有一个ViewController,它包含带图像的UIScrollView。用户可以使用UIScrollView缩放/平移图像。用户完成后,我需要裁剪图像。我可以使用zoomScale和contentOffset来查找可见的矩形...但它在iOS6和iOS7中的工作方式不同。如果我使用两个版本的模拟器缩放到几乎完全相同的位置,并且NSLog信息,这就是我得到的:
iOS7:
zoom: 2.56
content offset: {256.5, 274}
content size: {817.75256, 817.75256}
picture size: {960, 960}
scrollview bounds: {{256.5, 274}, {320, 320}}
iOS6的:
zoom: 2.54
content offset: {170.5, 182}
content size: {813.26, 813.26}
picture size: {960, 960}
scrollview bounds: {{170.5, 182}, {320, 320}}
缩放和内容大小略有不同,这很好,因为我手动尝试缩放到两个模拟器上的相同位置。但为什么contentOffset存在巨大差异?
使用的模拟器:
另外,我正在使用self.automaticallyAdjustsScrollViewInsets = NO;对于iOS7
答案 0 :(得分:1)
我明白了。显然,使用Autolayout在iOS 6中的UIScrollView中平移/缩放图像非常棘手。需要采取一些解决方法才能使其正常工作。对我来说最简单的事情是创建一个单独的故事板文件,禁用Autolayout,并将此视图控制器移动到那里。现在就像一个魅力。