我在這裏嘗試了很多答案,但沒有一個具有相同的確切場景。以編程方式返回到以前的ViewController在不同的故事板
我試圖導航到UIViewController
,它位於另一個包中的單獨故事板內,到目前爲止我能夠導航到它,但無法返回到之前的UIViewController
。調用該外部視圖控制器的方法(TabBarController
)被實現爲如下:
+(void) launchExternalUI: (UIViewController *) previousViewController {
UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: [self frameworkBundle]];
TabBarController *vc = (TabBarController*) [sb instantiateInitialViewController];
[previousViewController.navigationController pushViewController:vc animated:YES];
[vc release];
}
現在內TabBarController
的方法,該方法應返回到先前的視圖控制器:
- (void) navigateToPreviousViewController: (UIGestureRecognizer *)gesture {
[self.navigationController popViewControllerAnimated:YES];
}
在TabBarController
,如果我打印所有我看到的self.navigationController
中的視圖控制器都是TabBarController
,我不應該看到前面的視圖控制器在launchExternalUI
上推動了這個嗎? [self.navigationController popViewControllerAnimated:YES];
根本沒有效果。我對此有點失落。
重要的是要注意previousViewController
在本地故事板中定義,而TabBarController
在不同的.framework
中實現,是否會導致此問題?
在此先感謝您的幫助!
**編輯:導航流量我需要的是storyboard1:VC1->storyboard2:VC2->storyboard1:VC1
,我能得到storyboard1:VC1->storyboard2:VC2
一部分工作,但不是storyboard2:VC2->storyboard1:VC1
launchExternalUI方法在哪個類中?什麼是previousViewController? – rdelmar 2014-09-19 20:03:21
感謝您的評論,它是在.framework中的Utils類(NSObject)中定義的類方法。 – dorbsz 2014-09-19 21:04:47