Ios 如何以横向方式启动universal Xcode 5应用程序项目?
我创建了一个“单视图应用程序”项目,并将所有选项设置为仅启动和支持横向。但该应用程序启动时窗口为纵向 控制台输出显示Ios 如何以横向方式启动universal Xcode 5应用程序项目?,ios,iphone,ipad,uikit,xcode5,Ios,Iphone,Ipad,Uikit,Xcode5,我创建了一个“单视图应用程序”项目,并将所有选项设置为仅启动和支持横向。但该应用程序启动时窗口为纵向 控制台输出显示应用程序:didFinishLaunchingWithOptions:之后的窗口为: {{0, 0}, {768, 1024}} 我在ViewController的视图中添加了一个标准的系统按钮,以说明应用程序是横向的,而不是纵向的,但窗口是纵向的 由于堆栈溢出具有白色背景,我在Photoshop中将右侧部分涂成灰色,以便您可以看到它: 在应用程序中:didfishlaunch
应用程序:didFinishLaunchingWithOptions:
之后的窗口为:
{{0, 0}, {768, 1024}}
我在ViewController的视图中添加了一个标准的系统按钮,以说明应用程序是横向的,而不是纵向的,但窗口是纵向的
由于堆栈溢出具有白色背景,我在Photoshop中将右侧部分涂成灰色,以便您可以看到它:
在应用程序中:didfishlaunchingwithoptions:
我将窗口涂成红色。这显然不是横向的
我已经尝试了我知道的所有技巧:
1) Info.plist包含UISupportedInterfaceOrientations键,其中包含:
UIInterfaceOrientation和景观左侧和UIInterfaceOrientation和景观右侧
2) Info.plist包含UISupportedInterfaceOrientations~ipad键,其中包含:
UIInterfaceOrientation和景观左侧和UIInterfaceOrientation和景观右侧
3) Info.plist包含用于初始接口方向的UIInterfaceOrientation键:
UIInterfaceOrientationAndscapeRight
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上测试。一个是主脚本,它显示了一个纵向视图控制器。但这只是一个模拟的界面指标。改为景观,如预期没有效果
在应用程序发布期间,我检查了UI屏幕边界,它也清晰地显示为纵向,而不是横向:
CGRect screenBounds = [[UIScreen mainScreen] bounds]; // {{0, 0}, {768, 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];
}
这就是我遇到的类似问题的解决方案。虽然我认识到我们程序员有无数种方法可以让事情不按正确的方式运行,但我希望这就是答案 在界面生成器中单击查看控制器,然后在尺寸检查器中切换模拟尺寸到自由形状(从固定),输入1024表示宽度,768表示高度。它对我有用