首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iPad视图出现在侧面

iPad视图出现在侧面
EN

Stack Overflow用户
提问于 2010-09-23 17:11:01
回答 2查看 530关注 0票数 1

我正在开发一个iPad应用程序(不会提交到app ),它只支持景观模式。

应用程序中的大多数视图都被推到带有隐藏导航条的UINavigationController上。

当我在前面提到的UINavigationController中的顶部视图控制器中添加以下代码时,新的UINavigationController (navController)将以纵向模式创建,并显示在侧面和屏幕外。

代码语言:javascript
运行
复制
MyViewController *myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
// viewController.view is landscape in MyView.xib

// myViewController is created in landscape mode
NSLog(@"%@", NSStringFromCGRect(myViewController.view.frame)); // {{0, 0}, {1024, 704}}

UINavigationController *navController = [[UINavigationController alloc]
    initWithRootViewController:myViewController];

// navController is created in portrait mode (why?)
NSLog(@"%@", NSStringFromCGRect(navController.view.frame)); // {{0, 0}, {768, 1024}}

[self presentModalViewController:navController animated:YES];

// navController is shifted off-screen after it is presented modally (why?)
NSLog(@"%@", NSStringFromCGRect(navController.view.frame)); // {{1024, 0}, {748, 1024}}

我找不到任何可能发生这种情况的原因,也不知道如何调整景观模式,我可以改变它的框架,但它的内容仍然是横向的。

我尝试将以下内容添加到MyViewController.m中,但没有结果:

代码语言:javascript
运行
复制
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return !UIInterfaceOrientationIsPortrait(interfaceOrientation);
}

我甚至尝试将这段代码添加到一个UINavigationController子类中,这个子类也不起作用。

EN

Stack Overflow用户

回答已采纳

发布于 2010-09-23 19:14:02

通过将视图导航控制器添加为应用程序根视图的子视图,可以使视图导航控制器正确地定向。

代码语言:javascript
运行
复制
MyRootViewController *myRootViewController = [[[UIApplication sharedApplication] delegate] myRootViewController];
[myRootViewController presentModalViewController:navController animated:YES];

此代码位于导航控制器的顶部视图控制器中,导航控制器是根视图的子视图。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3780837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档