gpt4 book ai didi

ios - Autorotate 适用于 iOS 6,但在 iOS 5 中会出现奇怪的行为

转载 作者:行者123 更新时间:2023-11-28 22:46:12 24 4
gpt4 key购买 nike

我似乎遇到了与这篇文章相反的问题:

Autorotate in iOS 6 has strange behaviour

当我向 Apple 提交我的付费应用程序时,XCode 让我在我的测试设备上更新到 iOS 6。我使用 XCode 中的 GUI 将我的应用程序设置为仅在 iPhone 上以纵向模式显示,在 iPad 上仅以横向模式显示。这在我的 iOS 6 iPhone 和 iPad 上效果很好。然而,在 iOS 5 中,iPad 允许应用程序旋转到纵向,在不应该出现的类似信箱的黑色区域中显示我的按钮,并反复崩溃。

我正在使用导航 Controller 和 Storyboard。

我知道 shouldAutorotateToInterfaceOrientation 在 iOS 6 中已被弃用,但考虑到它仍应在 iOS 5 中调用,我试过这个:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
if ((UIDeviceOrientationIsLandscape(UIDeviceOrientationLandscapeLeft))||(UIDeviceOrientationIsLandscape(UIDeviceOrientationLandscapeRight))) {
return YES;
}
else return NO;
}
else
{
if ((UIDeviceOrientationIsLandscape(UIDeviceOrientationPortrait))||(UIDeviceOrientationIsLandscape(UIDeviceOrientationPortraitUpsideDown))) {
return YES;
}
else return NO; }
// Return YES for supported orientations
}

上面的代码好像什么都没做。我把它放在我的每个 View Controller 中;看来我真的应该把它放在我的导航 Controller 中,但是因为我是用图形方式设置的,所以我不确定该怎么做。我是否必须继承我的导航 Controller 并在代码中完成所有事情?必须有一种方法可以为此使用 Storyboard 设置!

(注意:我没有使用 AutoLayout 并且显然不能使用,因为我包含我的软件的一些旧组件,这些组件显然不喜欢它。)

这可能是什么原因造成的?我想在太多人购买该应用程序并提示之前修复它!提前致谢...

最佳答案

我认为代码应该是这样的,你使用“interfaceOrientation”,参数传递给你的比较方法:

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
if ((UIDeviceOrientationIsLandscape(interfaceOrientation))||(UIDeviceOrientationIsLandscape(interfaceOrientation))) {
return YES;
}
else return NO;
}
else
{
if ((UIDeviceOrientationIsLandscape(interfaceOrientation))||(UIDeviceOrientationIsLandscape(interfaceOrientation))) {
return YES;
}
else return NO; }

关于ios - Autorotate 适用于 iOS 6,但在 iOS 5 中会出现奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13179541/

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