我遇到了一个让我发疯的问题。我已经解决了,但是我对这个问题的理解还不够。我查看了文档,但我想我选择了错误的主题,因为没有找到解释。
每次 VC 旋转时,我都会为子视图分配新的中心,因此subview
始终保持居中。
我正在使用viewDidLayoutSubviews
更改旋转时的 UI。当我们有一个既没有嵌入也没有嵌入的 VC 时UINavController
,UITabBar
在旋转时我们会得到以下帧:
portrait
{{0, 20}, {768, 1004}}
land left
{{20, 0}, {748, 1024}}
upside down
{{0, 0}, {768, 1004}}
land right
{{0, 0}, {748, 1024}}
嗯,认真的吗?设备是横向的,我的尺寸是748 1024???(由于状态栏,我理解它的 748 而不是 768。)但为什么不是 1024 748?
当我设置背景颜色时 - 所有视图都被着色,就好像它在 1024 748 的位置一样。但是当我将中心设置为子视图时,它位于左下角,正好在 748 1024 的矩形的中心......
我觉得自己像一个对开发一无所知的大白痴(我为 iOS 开发了 2 年),并且觉得我是有史以来最白痴和最愚蠢的程序员。我很震惊,为什么我从来没有遇到过这个问题?我检查了我的旧项目 - 设置了一些 NSlog,一切都很好。那么为什么在我的新项目和最新项目中,它总是让我显示这些奇怪的信息?
然后我注意到 - UINavController。
我将 VC 嵌入到 UINavCon 中......这是日志:
land left
{{0, 0}, {1024, 704}}
upside down
{{0, 0}, {768, 960}}
land right
{{0, 0}, {1024, 704}}
portrait
{{0, 0}, {768, 960}}
是的,我的旧项目中的所有轮换风投都在UINavControllers
……这就是为什么……
但是,请我的同事们给我一个链接,帮助我获得关于这个话题的启示。为什么没有的框架UINavController
如此奇怪,我无法安排subviews
,以及为什么在 aUINavController
中使其表现如预期?先感谢您!