【发布时间】:2015-01-05 19:47:49
【问题描述】:
我有这个应用程序主要显示照片。
该应用最初是为 iOS 3.1 编写的,并在发布之前升级到了 4。从那以后就再也没有碰过它。现在 API 的所有者应用了一些不像他们想象的那样兼容的更改,我不得不更新应用程序。因此,我将不得不一口气进行 iPhone 5、6 和 6+ 以及 iOS 7 和 8 的更新。
我在 iphone 4、5 和 6+ 尺寸的模拟器中观察到这种行为。
肖像看起来不错。 左边的风景看起来也不错。 景观权利被搞砸了。显然它看起来好像整个屏幕都向左移动了。
这很奇怪,因为我不知道我会为左右横向做任何不同的事情。我所做的只是区分任何纵向和横向。
在旧版本中运行良好。但坦率地说,我无法再重现这一点,因为我无法访问旧的 xcode 和 sdk 版本。但该应用已上市多年,可在现代设备和现代操作系统版本上正常运行。
更多背景信息,以防万一它很重要:
该应用基于 UITabBar,但在此视图中不可见。
图像是可滚动的。它被放置在一个三倍于屏幕大小的视图上,前后图像视图分别放置在左侧和右侧。这个包含三个图像的视图分别放置在屏幕或窗口大小的滚动视图中。这个概念仍然适用于文件,它只是被转移了。
当我在调试器或 NSLog 中检查视图项的框架时,它们似乎都是正确的,从 (0.0/0.0) 或分别开始。
底部的视图带有导航到相关功能及其视图控制器的四个按钮,在每次旋转时以编程方式重新对齐,以及带有文本信息的叠加层。一切正常,但它在这个方向上发生了变化。 好吧,所有视图在每次旋转时都以编程方式布局。
没有定义约束。 iOS6/7 的 deltas 都设置为 0。
应用“想要全屏”。通过点击图像,所有 UI 项目都会消失并重新出现在下一个选项卡上。 (只需设置 .hidden 属性即可。导航栏除外。使用 setNavigationBarHidden:animated: 对动画进行 YES 管理)即使在移动视图中也可以正常工作。
我的想法不多了。
【问题讨论】: