我用.xib创建了一个模态UIView,当我点击按钮时,我希望显示这个UIView。但是我在presentViewController中有一个错误:发送' void'到不兼容类型的参数' UIViewController'。谢谢你的回答。
- (void)modal {
modalViewController *mvc = [[modalViewController alloc] initWithNibName:@"modalViewController" bundle:nil];
UIView * modal = [[UIView alloc] initWithFrame:CGRectMake(self.view.center.x/2, self.view.center.y/2, 240, 320)];
modal.backgroundColor = [UIColor whiteColor];
[modal addSubview:mvc.view];
[self.view addSubview:modal];
}
- (IBAction)showBTN:(id)sender {
[self presentViewController:[self modal] animated:YES completion:nil];
}
答案 0 :(得分:4)
presentViewController:animated:completion:
第一个参数是UIViewController
而非void
的实例。
您尝试做的事情没有意义,因为您已经将视图从modalViewController
添加到当前UIViewControllers
视图。因此无需致电presentViewController:animated:completion:
。
这会将视图添加到当前视图层次结构中:
- (IBAction)showBTN:(id)sender {
[self modal];
}
同样是一个小注释,类应以大写字母开头,因此您的modalViewController
类实际上应该命名为ModalViewController
。