模态viewController关闭按钮问题
Posted
技术标签:
【中文标题】模态viewController关闭按钮问题【英文标题】:Modal viewController dismiss button problem 【发布时间】:2010-06-26 19:52:35 【问题描述】:我正在创建一个简单的模态视图控制器。我正在创建一个带有按钮的笔尖,并在该按钮上按下调用一个方法来显示模态 viewController,我在其中创建 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 的目标方法。我肯定错过了一些明显的东西,但没有得到什么。有人可以帮忙吗?
提前感谢。
【问题讨论】:
请告诉我们dismissViewCOntroller
方法的定义。你定义选择器的方式应该是这样的,有两个大写字母和全部:- (void)dismissViewCOntroller
(没有发送者参数)。
另外,你确定你不是故意写UIControlEventTouchUpInside
吗?
Thanx、Ole、IWasRobbed 和 Macatomy ......是的,有一个错字......我应该写“UIControlEventTouchUpInside”,它不小心写成 UIControlEventTouchUpOutside ......
这里回答了这个问题[在此处输入链接描述][1] [1]:***.com/questions/6557425/…
【参考方案1】:
我同意 Ole 的评论...另外,请确保您在类似于此的 dismissViewCOntroller
方法中将其关闭:
[self.parentViewController dismissModalViewControllerAnimated:YES];
【讨论】:
【参考方案2】:我认为您的代码中可能存在拼写错误,dismissViewCOntroller
似乎应该是 dismissViewController
,但也许这是故意的,控制状态应该是 UIControlEventTouchUpInside
。
【讨论】:
以上是关于模态viewController关闭按钮问题的主要内容,如果未能解决你的问题,请参考以下文章
为啥让 viewController 自行关闭是不好的做法?
如何从 UIAlertcontroller 关闭模态 ViewController
UIViewController 从 viewController 和后退按钮模态加载 UINavigationController [重复]