как заставить интерфейсную ориентацию программно на iPhone? - PullRequest
0 голосов
/ 01 февраля 2010

как заставить его показывать только на UIDeviceOrientationPortrait?

пример отображение слоя layer1 на UIInterfaceOrientationLandscapeLeft

когда я помещаю ViewViewController в layer2, он автоматически отображается в UIInterfaceOrientationLandscapeLeft как я могу заставить его отображать UIDeviceOrientationPortrait?

Ответы [ 3 ]

2 голосов
/ 01 февраля 2010

Просто внедрите shouldAutorotateToInterfaceOrientation: в вашем контроллере представления.

1 голос
/ 01 февраля 2010

Поместите в свой layer2 viewController следующее:

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
0 голосов
/ 01 февраля 2010

У меня были проблемы с этим. Установка shouldAutorotateToInterfaceOrientation: делает так, чтобы при перемещении viewControllers в стек их представления были правильно ориентированы, но вы не можете заставить ориентацию на портретную или альбомную ориентацию с явным вызовом функции.

Лучшее, что я видел до сих пор, - это обрабатывать анимацию самостоятельно (с помощью CATransform и связанных вызовов CoreAnimation). Это не красиво.

Если кто-то знает способ заставить представление вращаться (то есть без нажатия / выталкивания контроллеров представления и без вращения фактического устройства), то, пожалуйста, сообщите мне / нам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...