1

我遇到了一个让我发疯的问题。我已经解决了,但是我对这个问题的理解还不够。我查看了文档,但我想我选择了错误的主题,因为没有找到解释。

每次 VC 旋转时,我都会为子视图分配新的中心,因此subview始终保持居中。

我正在使用viewDidLayoutSubviews更改旋转时的 UI。当我们有一个既没有嵌入也没有嵌入的 VC 时UINavControllerUITabBar在旋转时我们会得到以下帧:

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中使其表现如预期?先感谢您!

4

0 回答 0