Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 8:没有情节提要,自动旋转无法工作_Ios_Iphone_Swift - Fatal编程技术网

iOS 8:没有情节提要,自动旋转无法工作

iOS 8:没有情节提要,自动旋转无法工作,ios,iphone,swift,Ios,Iphone,Swift,因此,我试图启动一个没有故事板的项目,但我似乎不明白为什么UIWindow没有将自动旋转命令传递给根视图控制器。对于故事板,自动旋转可以工作。如果以编程方式创建窗口,则自动旋转不起作用 以下是我在应用程序委托中实例化窗口的方式: window = UIWindow(frame: UIScreen.mainScreen().bounds) if let window = window { window.backgroundColor = UIColor.whiteColor()

因此,我试图启动一个没有故事板的项目,但我似乎不明白为什么UIWindow没有将自动旋转命令传递给根视图控制器。对于故事板,自动旋转可以工作。如果以编程方式创建窗口,则自动旋转不起作用

以下是我在应用程序委托中实例化窗口的方式:

window = UIWindow(frame: UIScreen.mainScreen().bounds)
if let window = window {
    window.backgroundColor = UIColor.whiteColor()
    window.makeKeyAndVisible()

    let nc: SignInViewController = UIStoryboard(name: "Main", bundle: nil)
            .instantiateViewControllerWithIdentifier("SignInViewController") as SignInViewController
    window.rootViewController = nc
}

谢谢

确保在项目的常规设置中启用设备方向

在xcode 6.1中,单击主项目文件夹的“常规”选项卡

向下滚动至设备方向,启用“纵向”、“横向左侧”、“横向右侧”


有关设备方向设置的图片,请参见。我认为您的代码是正确的,并且您看到了XCode 6.1的一个(众多)错误

我用你的代码尝试了一个非常简单的6.1应用程序,我可以试验这个bug。然后我降级到6.0.1,我的应用程序的自动旋转非常完美

我建议您降级到XCode 6.0.1,然后重试您的应用程序


你可以从这里下载:

我刚刚在我的项目中解决了这个问题。 对我来说,解决方案是从以下代码中删除动画:
[自呈现视图控制器:根动画:动画完成:^{
[AppDelegate singleton].window.rootViewController=root;
}];
现在只是
[AppDelegate singleton].window.rootViewController=root


我不知道这是否回答了你的问题,但它解决了我认为是一个共同问题的例子。

你在使用故事板吗?如果是这样,应用程序中可能有旧代码didfishlaunchingwithoptions方法

尝试删除以下代码行以及与UIWindow相关的任何其他代码:

self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]]


只需要从AppDelegate.m文件中删除上面的行。

标记的答案是降级到XCode 6.0.1-我不建议这样做

1) 如果你不使用故事板(回答这个主题!!)

进入->项目名称->目标->项目名称->部署信息->主界面->清空


2) 如果您使用故事板(不是主要答案)

您的AppDelegate应该看起来像

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
{
    return true
}

您使用的是哪个版本的XCode?嘿,谢谢。我使用的是Xcode 6.1。我在Xcode版本6.0.1(6A317)和版本6.1(6A1052d)中都有问题,所以我认为这与Xcode无关。我认为这个问题仍然存在;我在Xcode版本6.4(6E35b)中遇到了完全相同的问题。除非我使用故事板启动,否则旋转无法正常工作。谢谢,我确实设置了旋转。谢谢,这非常麻烦,因为Xcode 6.1是最新版本。我在Xcode版本6.0.1(6A317)中试用了它,它对我没有任何改变。事实上,对我来说,Xcode版本是有问题的。有人找到解决办法了吗?令人沮丧。我终于找到了除降级到6.0.1之外的其他解决方案。下面是我的答案。我的问题与原始海报相同,即使主界面设置为空,问题也会出现。