В моем приложении у меня несколько просмотров, некоторые представления должны поддерживать как портрет, так и пейзаж, в то время как другие виды должны поддерживать только портрет. Таким образом, в резюме проекта я выбрал все ориентации.
Следующий код работал, чтобы отключить ландшафтный режим на данном контроллере представления до iOS 6:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
Поскольку shouldAutorotateToInterfaceOrientation устарел в iOS6, я заменил выше:
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMask.Portrait;
}
Этот метод корректно вызывается, когда появляется представление (я могу установить точку останова, чтобы это обеспечить), но интерфейс по-прежнему вращается в ландшафтном режиме, независимо от того, что я возвращаю маску только для портретных режимов. Что я делаю неправильно?
Кажется, что в настоящее время невозможно создать приложение, которое имеет разные требования к ориентации для каждого представления. Похоже, что они придерживаются только ориентации, указанной в резюме проекта.