iOS 8:没有情节提要,自动旋转无法工作
因此,我试图启动一个没有故事板的项目,但我似乎不明白为什么UIWindow没有将自动旋转命令传递给根视图控制器。对于故事板,自动旋转可以工作。如果以编程方式创建窗口,则自动旋转不起作用 以下是我在应用程序委托中实例化窗口的方式:iOS 8:没有情节提要,自动旋转无法工作,ios,iphone,swift,Ios,Iphone,Swift,因此,我试图启动一个没有故事板的项目,但我似乎不明白为什么UIWindow没有将自动旋转命令传递给根视图控制器。对于故事板,自动旋转可以工作。如果以编程方式创建窗口,则自动旋转不起作用 以下是我在应用程序委托中实例化窗口的方式: window = UIWindow(frame: UIScreen.mainScreen().bounds) if let window = window { window.backgroundColor = UIColor.whiteColor()
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之外的其他解决方案。下面是我的答案。我的问题与原始海报相同,即使主界面设置为空,问题也会出现。