gpt4 book ai didi

iphone - iOS:初始界面方向 [UIInterfaceOrientation] 在 plist 中被忽略

转载 作者:可可西里 更新时间:2023-11-01 06:18:34 24 4
gpt4 key购买 nike

我正在尝试将我的应用程序的初始方向设置为UIInterfaceOrientationLandscapeLeft

我买不到

'Initial interface orientation'[UIInterfaceOrientation]

覆盖数组中的第一项

'Supported interface orientations'[UISupportedInterfaceOrientations]

我注意到一个 iPhone 应用程序总是以“纵向(底部主页按钮)”开头。数组是:

'Supported interface orientations'[UISupportedInterfaceOrientations]

Portrait (bottom home button)

Landscape (left home button)

Landscape (right home button)

这是预期的。

如果我关闭摘要页面上的 PORTRAIT HOME BOTTOM 按钮,然后再打开然后数组的顺序发生变化,纵向(底部主页按钮)移动到底部。

Landscape (left home button)

Landscape (right home button)

Portrait (bottom home button)

当我运行该应用程序时,它现在以横向(左主页按钮)启动,因为它现在位于列表的顶部。哪个好

但是

当我添加

'Initial interface orientation'[UIInterfaceOrientation]

并将其设置为

Landscape (right home button)

它被忽略,而是使用数组中的第一项

Landscape (left home button)

我检查了 shouldAutorotateToInterfaceOrientation,它只会阻止 Portrait 颠倒

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} else {
return YES;
}
}

我还添加了调试代码

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if(interfaceOrientation == UIInterfaceOrientationPortrait){
NSLog(@"shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortrait");
}else if(interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){
NSLog(@"shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortraitUpsideDown");
}else if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft){
NSLog(@"shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeLeft");
}else if(interfaceOrientation == UIInterfaceOrientationLandscapeRight){
NSLog(@"shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight");
}else {
NSLog(@"shouldAutorotateToInterfaceOrientation:UNKNOWN");
}

return YES;
}

我明白了

 shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight
shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight
shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight
shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight
shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight
shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeLeft
shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeLeft

所以你可以看到它确实在尝试使用

'Initial interface orientation'[UIInterfaceOrientation]

并将其设置为

Landscape (right home button)

但随后它切换回数组中的第一项,而不是使用

Landscape (left home button)

我做错了什么吗?这是一个简单的单 View Xcode 模板项目...只需添加调试代码。

最佳答案

尽管有文档,UIInterfaceOrientation 被忽略了。仅使用 UISupportedInterfaceOrientations。要指定您喜欢启动哪个,请将其设为UISupportedInterfaceOrientations 中列出的第一个

然后由您的个人 View Controller 来排除他们拒绝采用的任何方向。

关于iphone - iOS:初始界面方向 [UIInterfaceOrientation] 在 plist 中被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9298232/

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