gpt4 book ai didi

ios - iPad 应用程序在横向左侧而不是横向右侧打开时添加边距

转载 作者:可可西里 更新时间:2023-11-01 06:16:03 26 4
gpt4 key购买 nike

我在横向 iPad 应用程序中遇到了一个非常奇怪的布局错误。

当应用程序以横向右方向启动时,它会启动并完美运行。然而,当以 landscape-left 启动时,主视图的顶部会添加 20px 的边距。

此应用的设计在顶部有一个标题栏,在底部有一个导航栏(两者都是带有几个 UILabel/UIButton 的 UIView)。当您以有问题的横向左模式启动应用程序并切换到横向右模式时,顶部和底部的条形图将 上方 移动 20px 到它们应该放置的位置 - 即顶部条形图被定位在状态栏下方,底部栏 float 在框架底部上方 20px。

这确实很奇怪。正如我所说,如果您以横向方式打开它,它完美可以正常工作。

有人有什么想法吗?看到这个错误了吗?

我正在使用 iOS SDK 6.1 和 Xcode 4.6

编辑[更多详细信息]

我添加的一些日志中的一些可能线索——主视图的帧为 (0,0,1024,748),而调用 [[UIScreen mainScreen] applicationFrame] 返回帧为 (20,0,748,1024 ),这是肖像。当然很好奇,但不一定能解释启动状态之间的不一致——错误状态和功能模式之间的日志是相同的。

编辑[情节变粗]

所以我检查了所有的 View 框架,并创建了一个可重现的错误。

应用程序中有一个全屏“幻灯片”模式,其中隐藏了状态栏。当应用程序在此全屏模式下旋转时,我能够旋转 20px 间隙误差。

所以流程是:

-应用正常运行,旋转正常-进入全屏显示,显示正常- 全屏旋转,布局移动 20px- 关闭幻灯片,布局保持移动-第一次旋转后,布局恢复正常

到达那里……我需要在这里调用类似于 setWantsFullScreenLayout 的东西吗?

最佳答案

20 像素是状态栏的高度,相对于旋转的 20 像素偏移几乎总是与您的(根) View Controller 的框架有关。尝试将 Root View Controller 的 View 框架设置为具有 0,0 原点。

关于ios - iPad 应用程序在横向左侧而不是横向右侧打开时添加边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15164066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com