下面的代码用来打开另一个视图控制器 (在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的默认背景色,也就是你看到的黑色屏幕
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。