【发布时间】:2011-11-24 17:49:03
【问题描述】:
我有两个 UIViewControllers 包含在一个 navigatoin 视图控制器中,并且都处于横向模式。我想在两个 uiviewcontroller 之间切换而没有像推这样的动画。因此,如果用户在第一个视图控制器中单击一个按钮,我会在这两者之间执行自定义 segue。
#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
在故事板中,我切换到自定义 segue,实际上它工作正常。唯一的问题是第二个 uiviewcontroller 不是横向显示而是纵向显示。如果我删除自定义 segue 并用 push segue 替换它,那么一切正常,第二个视图控制器以横向模式显示。
那么如果我使用自定义 segue,我该怎么做才能使第二个视图控制器也处于横向视图中?
【问题讨论】:
标签: ios uiviewcontroller push