ios – 如何在横向方向上推出通用的Xcode 5 app项目?

ios – 如何在横向方向上推出通用的Xcode 5 app项目?,第1张

概述我创建了一个“单一视图应用程序”项目,并设置了所有选项以启动并仅支持横向.但该应用程序以纵向方向启动窗口. 控制台输出表示应用程序之后的窗口:didFinishLaunchingWithOptions:是: {{0, 0}, {768, 1024}} 我添加了一个标准系统按钮来查看ViewController,以说明应用程序是横向而不是纵向,但窗口是纵向的. 因为堆栈溢出具有白色背景,所以我在Ph 我创建了一个“单一视图应用程序”项目,并设置了所有选项以启动并仅支持横向.但该应用程序以纵向方向启动窗口.

控制台输出表示应用程序之后的窗口:dIDFinishLaunchingWithOptions:是:

{{0,0},{768,1024}}

我添加了一个标准系统按钮来查看VIEwController,以说明应用程序是横向而不是纵向,但窗口是纵向的.

因为堆栈溢出具有白色背景,所以我在Photoshop中将右部分灰色着色,以便您可以看到它:

在应用程序中:dIDFinishLaunchingWithOptions:我将窗口涂成红色.显然不是横向的.

我已经尝试过所知道的所有技巧:

1)Info.pList包含UISupportedInterfaceOrIEntations键,其中包含:
UIInterfaceOrIEntationLandscapeleft和UIInterfaceOrIEntationLandscapeRight

2)Info.pList包含UISupportedInterfaceOrIEntations~ipad键:
UIInterfaceOrIEntationLandscapeleft和UIInterfaceOrIEntationLandscapeRight

3)Info.pList包含初始界面方向的UIInterfaceOrIEntation键:
UIInterfaceOrIEntationLandscapeRight

4)在Xcode中单击项目,然后取消选中所有纵向选项,仅检查横向选项:

5)AppDelegate和VIEwController都有:

- (BOol)shouldautorotatetoInterfaceOrIEntation:(UIInterfaceOrIEntation)interfaceOrIEntation {    return UIInterfaceOrIEntationIsLandscape(interfaceOrIEntation);}- (NSUInteger)supportedInterfaceOrIEntations {    return UIInterfaceOrIEntationMaskLandscapeleft | UIInterfaceOrIEntationMaskLandscapeRight;}- (BOol)shouldautorotate {    return YES;}

6)AppDelegate有:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrIEntationsForWindow:(UIWindow *)window {    return UIInterfaceOrIEntationMaskLandscapeleft | UIInterfaceOrIEntationMaskLandscapeRight;}

Xcode创建了两个故事板文件.我现在只在iPad上测试.一个是Main_iPad.storyboard,它显示了一个纵向的视图控制器.但它只是一个模拟的界面指标.改为景观,正如预期没有效果.

在应用程序启动期间,我检查UIScreen界限,它也显然是肖像,而不是横向:

CGRect screenBounds = [[UIScreen mainScreen] bounds]; // {{0,1024}}

如何使其在横向上启动并创建横向窗口?

解决方法 我以前遇到过类似的问题,所以也许他们有关系……

我遇到了一个问题,因为我在视图控制器的initWithNibname:bundle中以编程方式创建了我的视图:无论出于何种原因,这样做会在纵向模式下定向新视图,而应用程序的其余部分正在运行横向.

我找到了两个解决这个问题的方法. 1)使用故事板而不是以编程方式创建视图或2)移动代码以从视图控制器的initWithNibname:bundle:方法创建视图,并将其放在视图控制器的-vIEwDIDLoad:方法中,如下所示:

-(voID)vIEwDIDLoad {    //Create your vIEw programmatically    UIVIEw *vIEw = [[UIVIEw alloc] initWithFrame:self.vIEw.frame];    //Customize vIEw    [self.vIEw addSubvIEw:vIEw];}

这是我遇到类似问题的解决方案.虽然我认识到程序员可以通过各种方式使事情不能正常运行,但我希望这就是答案!

总结

以上是内存溢出为你收集整理的ios – 如何在横向方向上推出通用的Xcode 5 app项目?全部内容,希望文章能够帮你解决ios – 如何在横向方向上推出通用的Xcode 5 app项目?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1022122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存