Если ваш IPad приложение является пейзаж только в любых условиях, просто сделать 3 шага:
1) В делегат своего приложения
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
return UIInterfaceOrientationMaskAll;
}
2) Создать заголовок категории
#import "UIViewController+OrientationFix.h"
@implementation UIViewController (OrientationFix)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
@end
3) Создать реализацию категории
#import "UIImagePickerController+OrientationFix.h"
@implementation UIImagePickerController (OrientationFix)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
@end
Примечание: Вам не нужно импортировать эти категории в любом месте, достаточно просто они скомпилированы с проектом
Примечание: нет необходимости реализовывать эти методы в любом VC
Примечание: нет необходимости изменять вашу Plist поддерживаются ориентации
Это проверено и работает в любых условиях
Что если приложение не только пейзаж? – Collin
, так как это не должно быть проблемой, так как приложение поддерживает любую ориентацию в любом случае –
Вы не должны переопределять методы класса в категории. Какой метод фактически используется, технически не определен, даже если он всегда работает. Apple может изменить что-то, что сломает его в будущем. – Gavin