У меня есть два контроллера UIViewController, которые содержатся в контроллере представления Navatoin и оба в альбомном режиме. Я хочу переключаться между двумя uiviewcontroller без анимации, как push. Поэтому я выполняю пользовательский переход между этими двумя, если пользователь нажимает кнопку в первом контроллере вида.
#import <Foundation/Foundation.h>
#import "AppDelegate.h"
@class AppDelegate;
@interface NonAnimatedSegue : UIStoryboardSegue {
}
@property (nonatomic,assign) AppDelegate* appDelegate;
@end
А это реализация:
#import "NonAnimatedSegue.h"
@implementation NonAnimatedSegue
@synthesize appDelegate = _appDelegate;
-(void) perform{
self.appDelegate = [[UIApplication sharedApplication] delegate];
UIViewController *srcViewController = (UIViewController *) self.sourceViewController;
UIViewController *destViewController = (UIViewController *) self.destinationViewController;
[srcViewController.view removeFromSuperview];
[self.appDelegate.window addSubview:destViewController.view];
self.appDelegate.window.rootViewController=destViewController;
}
@end
В раскадровке я переключился на кастомный переход, и на самом деле он работает нормально. Единственная проблема заключается в том, что второй контроллер uiview отображается не в ландшафтном режиме, а в режиме protrait. Если я удаляю пользовательский переход и заменяю его на push-переход, то все работает нормально, второй контроллер представления отображается в альбомном режиме.
Итак, что мне нужно сделать, чтобы второй viewcontroller был также в альбомной ориентации, если я использую свой пользовательский переход?