如何让我的 iPhone 应用程序以横向模式启动?

发布于 2025-01-04 00:10:37 字数 354 浏览 0 评论 0原文

我的应用程序固定为横向模式,但在 viewDidLoad() 甚至 viewWillAppear() 期间,仍然返回以下纵向尺寸:

self.view.bounds.size.width = 320.00
self.view.bounds.size.height = 480.00

直到 viewDidAppear() 才产生实际的横向尺寸。

self.view.bounds.size.width = 480.00
self.view.bounds.size.height = 320.00

我觉得这很奇怪。 为什么会出现这种情况!?我该如何解决这个问题?

My app is fixed to landscape mode, yet during viewDidLoad() and even viewWillAppear(), the following portrait dimensions still return:

self.view.bounds.size.width = 320.00
self.view.bounds.size.height = 480.00

It's not until viewDidAppear() that the actual landscape dimensions result.

self.view.bounds.size.width = 480.00
self.view.bounds.size.height = 320.00

I find this weird.
Why does this happen!? and how can I fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

枉心 2025-01-11 00:10:37

在应用程序的 info.plist 文件中,指定键:

 UISupportedInterfaceOrientations

左右横向的值:

在此处输入图像描述

编辑

原始plist代码应如下所示:

    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>

编辑2

您还需要此键来确定状态栏的初始方向:

 <key>UIInterfaceOrientation</key>
 <string>UIInterfaceOrientationLandscapeRight</string>

此外,您需要确保 >您的所有观点控制器(选项卡栏、导航栏、常规视图控制器)实现

 shouldAutorotateToInterfaceOrientation

并返回横向(左或右)值。

以下是有关该主题的 Apple 文档文章:

技术说明 TN2244

最后,这里有一些关于这个主题的其他帖子:
帖子 1帖子 2。

In your app's info.plist file, specify the key:

 UISupportedInterfaceOrientations

with values for landscape left and right:

enter image description here

EDIT:

The raw plist code should look like this:

    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>

Edit 2

You also need this key which determines the initial orientation of the status bar:

 <key>UIInterfaceOrientation</key>
 <string>UIInterfaceOrientationLandscapeRight</string>

Further, you need to make sure that ALL of your view controllers (tabbar, navbar, regular view-controllers) implement

 shouldAutorotateToInterfaceOrientation

and return a Landscape (left or right) value.

Here is an Apple docs article on the subject:

Technical Note TN2244

And finally, here are some other SO posts on this topic:
post 1 and post 2.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文