我有一個以導航控制器開始的應用程序。該導航器可以打開模態視圖控制器:如何執行沒有轉換動畫的segue
- (void)openModalController:(id)sender
{
[self performSegueWithIdentifier:@"SegueIdentifier"];
}
但是,當用戶打開使用URL方案的應用,我想和開模態控制器提出申請。所以我加了一些方法和嘗試:
// Controller
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated]; // animated == NO in initial loading
if (_shouldOpenModalController) {
[self openModalController:nil];
}
}
- (void)setShouldOpenModalController:(BOOL)flag
{
_shouldOpenModalController = flag;
}
// AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (launchOptions) {
UINavigationController *nc = (UINavigationController *)self.window.rootViewController;
MyViewController *c = (MyViewController *)[ns topViewController];
[c setShouldOpenModalController];
}
}
但這裏是一個問題:openModalController:
執行與故事板的過渡動畫我安裝Segue公司。如何在沒有動畫的情況下完成?這項任務有另一種方法嗎?
子類'UISegue'並重寫'perform'。 – Martol1ni 2013-04-24 13:45:18
@ Martol1ni下次我想用動畫打開它...現在我正在使用' - (id)instantiateViewControllerWithIdentifier:(NSString *)標識符',但我不認爲這是最好的解決方案 – voromax 2013-04-24 13:49:26
您正在使用塞格斯,對吧? – Martol1ni 2013-04-24 15:21:31