最近碰到一個問題,需求如下:
需求:在某個storyboard中有一個單獨的控制器VC(沒有連線),在storyboard中給此VC隨便拖幾個控件在上面,同時自定義一個類綁定此VC,問如何獲取到此VC並且顯示storyboard中此VC設置的界面。如下圖:
1,首先要知道是哪個storyboard,先介紹一下storyboard的三個方法:
1> 下面的方法表示通過storyboard的名字從某個包中獲取(一般設置為nil表示從主包中獲取)storyboard
+ (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle *)storyboardBundleOrNil
2>此方法獲取到storyboard中初始的控制器
- (id)instantiateInitialViewController
3>此方法表示通過控制器的identifier獲取到此控制器,新版本的Xcode用Storyboard ID來表示某個控制器的identifier
- (id)instantiateViewControllerWithIdentifier:(NSString *)identifier;
好了,從上面的三個方法應該很多朋友都知道怎麼獲取Storyboard中單獨的控制器了。
2,在storyboard中設置此單獨的VC的identifier,即Storyboard ID,用於區分storyboard中的控制器,如下圖
3,在類中調用storyboard中的-instantiateViewControllerWithIdentifier:方法獲取次單獨的VC
ZJDuLiController *vc = [self.storyboardinstantiateViewControllerWithIdentifier:@"DuLi"]
4,push或modal出次VC即可
[self.navigationControllerpushViewController:vcanimated:YES];
最終效果如下: