您可以在不使用導航控制器的情況下呈現/關閉VC。
注意術語:導航控制器堆棧上的VC使用push/pop,而其他VC(不在導航控制器堆棧上)的VC使用present/dismiss。
有一對夫婦的方式呈現一個VC對另一個VC的頂部,這取決於是否讓SB存在VC,以及:
1-如果VC不會在你的IB和你的存在只是編程方式創建和呈現VC,你可以這樣做:
MyUIViewControllerSubclass *myLittleSubclass=[[MyUIViewControllerSubclass alloc]init];
myLittleSubclass.view.frame=self.view.frame; //this is for exmaple only
[self presentViewController:myLittleSubclass animated:YES completion:nil];
上述內容,顯然你必須先添加MyUIViewControllerSubclass目標C類項目(使用添加文件),然後將其導入到哪個班你正在把上面的代碼。
稍後要解僱它,可以使用MyUIViewControllerSubclass類本身的以下代碼。
[self.parentViewController dismissViewControllerAnimated:YES completion:nil];
2 - 如果你已經添加了MyUIViewControllerSubclass目標C類項目(使用添加文件),但你打算使用IB來設計它,你已經在IB添加VC,改變它的類在IB到MyUIViewControllerSubclass,然後你可以使用此代碼:
mySubclass *myLittleSubclass=[self.storyboard instantiateViewControllerWithIdentifier:@"theVC"];
[self presentViewController:myLittleSubclass animated:YES completion:nil];
可以解僱同上。 確保您點擊SB中的VC和身份檢查員,將SB ID設置爲「theVC」並選中「Use SB ID」。
希望這會有所幫助。
Maysam,我的答案下面解決您的問題? – Spectravideo328 2013-03-07 23:50:03
我還沒有嘗試過,有點忙碌 – Maysam 2013-03-08 09:25:26