模态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 中禁用缩放和最小化

为啥让 viewController 自行关闭是不好的做法?

关闭 3 层模态视图

如何从 UIAlertcontroller 关闭模态 ViewController

UIViewController 从 viewController 和后退按钮模态加载 UINavigationController [重复]

关闭 Storyboard 上的模态视图控制器