2010-06-26 60 views
0

我正在创建一个简单的模态ViewController。我用一个按钮创建一个笔尖,然后按下该按钮,调用一个方法来显示模式viewController,我在其中创建viewController和一个按钮,像这样。Modal viewController解雇按钮问题

UIViewController *modalViewController = [[UIViewController alloc]initWithNibName:nil bundle:nil]; 
modalViewController.view.backgroundColor = [UIColor redColor]; 
modalViewController.; 

UIButton *btnDismissViewController = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
btnDismissViewController.frame = CGRectMake(60, 160, 150, 50); 
[btnDismissViewController setTitle:@"DISMISS" forState:UIControlStateNormal]; 
[btnDismissViewController addTarget:self action:@selector(dismissViewCOntroller) forControlEvents:UIControlEventTouchUpOutside]; 

btnDismissViewController.backgroundColor = [UIColor grayColor]; 
[modalViewController.view addSubview:btnDismissViewController]; 

[self presentModalViewController:modalViewController animated:YES]; 

该视图正常显示,但在按下modalViewController上的按钮后,不会调用解除modalViewController的目标方法。我肯定错过了明显的东西,但没有得到什么。任何人都可以帮忙吗?

Thanx提前。

+0

请向我们展示'dismissViewCOntroller'方法的定义。您定义选择器的方式应该如下所示,使用两个大写字母和全部:' - (void)dismissViewCOntroller'(无发送者参数)。 – 2010-06-26 20:05:05

+1

另外,你确定你不是故意写'UIControlEventTouchUpInside'吗? – 2010-06-26 20:05:48

+0

感谢名单,奥,IWasRobbed和Macatomy ......是的,有一个错字。我应该写“UIControlEventTouchUpInside”,这无意中被写成UIControlEventTouchUpOutside .. – neha 2010-06-28 06:12:34

回答

1

我同意奥莱的评论...此外,请确保您在您与此类似dismissViewCOntroller方法内贬:

[self.parentViewController dismissModalViewControllerAnimated:YES]; 
1

我觉得可能是在你的代码一个错字,dismissViewCOntroller好像它应该是dismissViewController,但也许这是故意的,并且控制状态应该是UIControlEventTouchUpInside