我是stackoverflow和Objective-C编程的新手。我已经搜索了下面描述的问题,但我找不到可行的解决方案。
我的应用程序是一个简单的离线浏览应用程序,具有导航结构。 在appDelegate中,我通过以下方式之一加载RootViewController(UITableViewController):
解决方案 A
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
return YES;
解决方案 B
RootViewController* rootviewcontroller = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
navigationController = [[UINavigationController alloc] initWithRootViewController:rootviewcontroller];
rootViewController只是推送一些视图,即
TipAndTrickViewController *mTipAndTrick = [[TipAndTrickViewController alloc]initWithNibName:@"TipAndTrickViewController" bundle:nil];
[self.navigationController pushViewController:mTipAndTrick animated:YES];
在更深层的视图中,我提供了一个详细的modalView(UIViewController)。 我想要的是仅在最后一个视图中启用自动旋转。所有前面的想法都是理想的取向。最后一个视图以正确的方式实现:
shouldAutorotateToInterfaceOrientation:interfaceOrientation
shouldAutorotate
willRotateToInterfaceOrientation:toInterfaceOrientation 持续时间:持续时间
willAnimateRotationToInterfaceOrientation:interfaceOrientation 持续时间:持续时间
重写
shouldAutorotate
shouldAutorotateToInterfaceOrientation:interfaceOrientation
让他们在rootViewController中返回NO / YES并使用
以所需的方式设置允许的方向supportedInterfaceOrientations
(在rootViewCOntroller和最后一个视图中),我得到了那些结果:
我做错了什么? 提前感谢您的帮助
答案 0 :(得分:0)
将它们添加到viewController中,让我知道它是否有效。
// iOS5旋转
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
// iOS6 Rotation
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
- (BOOL)shouldAutorotate
{
return YES;
}