使用iPhone6和6Plus进行缩放显示的Autolayout问题

时间:2016-01-04 14:54:02

标签: ios autolayout uistoryboard iphone-6 iphone-6-plus

我在故事板中使用了自动布局大小类,并且有一个对视图控制器底部有垂直约束的按钮。但是,当我在 iPhone6 Plus 上以缩放模式(Settings -> Display & Brightness -> Display Zoom -> Zoomed)运行我的应用时,该按钮不会重新定位。

这是一个错误吗?如果是这样,最好的解决方法是什么,我可以找出应用是否处于缩放模式并相应地更改约束?

或者我在这里做错了什么?

2 个答案:

答案 0 :(得分:5)

基本上,iPhone 6+在缩放模式下是iPhone 6.而iPhone 6在缩放模式下是iPhone 5.您不必更改任何内容,只需确保您的代码适用于iPhone 5和6 。

不要试图找出你正在运行的手机。例如,有一些方法可以通过使用某些设备信息来查找您在某个iPhone模型上运行 - 如果您使用这些方法,那么您的代码可能会认为它在iPhone 6+上运行时会被缩放并导致一切错误。只需检查屏幕大小(并确保检查旋转)。

答案 1 :(得分:1)

我找到的解决方案是向我的容器视图添加约束。有代码基于背景图像以编程方式设置容器视图框架。

无论是在缩放模式还是标准显示模式下,实际背景图像的大小都不会改变,即使它在缩放时都会适合屏幕。所以我的容器框架比预期的要大,因此我的按钮几乎超出了设备的屏幕。