在我的应用程序中,我有多个视图,一些视图需要同时支持纵向和横向,而其他视图只需要支持纵向。因此,在项目摘要中,我都选择了所有方向。
下面的代码用于在 iOS 6 之前禁用给定视图控制器上的横向模式:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
由于 shouldAutorotateToInterfaceOrientation 在 iOS6 中已被弃用,我已将上述内容替换为:
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMask.Portrait;
}
当视图出现时,这个方法被正确调用(我可以设置一个断点来确保这一点),但界面仍然旋转到横向模式,不管我只为纵向模式返回掩码。我究竟做错了什么?
似乎目前不可能构建每个视图具有不同方向要求的应用程序。它似乎只遵循项目摘要中指定的方向。