下面的代碼用來打開另一個視圖控制器 (在myviewcontroller1.m中):
#import "contactvc.h"
contactvc *ii;
// ....
-(IBAction)passothervc:(id)sender
{
//this code seems working OK.
ii = [self.storyboard instantiateViewControllerWithIdentifier:@"contactvc"];
[self presentViewController:ii animated:NO completion:nil];
}
下面的代碼返回給主視圖控制器:
-(IBAction)backToMain:(id)sender
{
[self.view removeFromSuperview];
}
問題是在按後退鍵時會保持空黑屏幕。請指教。
使用presentViewController 需要返回時,不是調用
[self.view removeFromSuperview];
而是有相應的關閉方法。presentViewController是一個模態窗口,可看做是web開發中的彈出窗口。相應的關閉代碼是:
[self dismissViewControllerAnimated:NO completion:nil];
而
[self.view removeFromSuperview];
它的作用是將當前視圖從其父視圖中移除。在一個viewcontroller中view為當前視圖的base視圖,如果將它移除會顯示UIWindow的默認背景色,也就是你看到的黑色屏幕