2013-12-16 50 views
0

我有下面的這段代碼,基本上打開了上次保存的類。在我的例子中,這個課程是在一個故事板內,當我告訴它回憶它時,它正在轉變成黑色。我想知道的是如何檢測故事板的ID,保存它,然後從一個故事板文檔中的任何故事板的IBAction中打開它。謝謝:)檢測上次訪問的故事板

節省代碼:

[[NSUserDefaults standardUserDefaults] setObject:NSStringFromClass([self class]) forKey:@"currentViewController"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 

返回代碼:

NSString *savedClassName = [[NSUserDefaults standardUserDefaults] objectForKey:@"currentViewController"]; 
Class cls = NSClassFromString(savedClassName); 
UIViewController *screen = (UIViewController *)[cls new]; 
screen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentViewController:screen animated:YES completion:nil]; 
+0

請詳細說明後面的含義是什麼意思? – Husyn

+0

修改添加^ .. –

回答

0

最後我只是把這個在我的回報IBAction爲,就這麼簡單!

[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil]; 
1

有可能是這裏2個問題。

  1. 您的視圖控制器類正在初始化,但其視圖沒有正確地從故事板獲得負載。
  2. 您還沒有在xib文件中將視頻板ID提供給您的視圖控制器。

確認這兩個點都做,你可以做這樣的事情後:

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController *vc = [storyBoard instantiateViewControllerWithIdentifier:@"UIViewController"]; 
[self presentViewController:vc animated:YES completion:nil];