Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 关闭未在UIScrollView上工作的presentModalViewController_Ios_Objective C_Scrollview - Fatal编程技术网

Ios 关闭未在UIScrollView上工作的presentModalViewController

Ios 关闭未在UIScrollView上工作的presentModalViewController,ios,objective-c,scrollview,Ios,Objective C,Scrollview,在我的应用程序中,我使用的是presentModalViewController,在下一个控制器中,我使用的是UIScrollView,也用于关闭presentModalViewController UITapgestureRecognitor 我的代码是 UITapGestureRecognizer*点击手势=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(点击视图:)]; tappostate.numbe

在我的应用程序中,我使用的是presentModalViewController,在下一个控制器中,我使用的是UIScrollView,也用于关闭presentModalViewController UITapgestureRecognitor

我的代码是

UITapGestureRecognizer*点击手势=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(点击视图:)];
tappostate.numberOfTapsRequired=1;
tappostate.numberoftouchsrequired=1;
tappostate.delegate=self;
[self.fullScreenImageView添加手势识别器:点击手势]

-(void)tappedOnView:(UIGestureRecognizer*)gestureRecognizer {
    [self dismissModalViewControllerAnimated:YES];}
但这给了我一个错误

尝试关闭视图当前未出现的模态视图控制器。self=modalViewController=

所以我把电话换成了这样

if ([self respondsToSelector:@selector(presentingViewController)]) {
    [self.presentingViewController.presentingViewController dismissModalViewControllerAnimated:YES]; // for IOS 5+
} else {
    [self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES]; // for pre IOS 5
}
但是代码不起作用。我不能解雇我现在的ModalViewController。 无需滚动查看其工作状态。上面的代码有什么错误

tappostate.delegate=self

那边不需要

[self.fullScreenImageView添加手势识别器:点击手势]


如果fullScreenImageView是一个scrollView,那么在那里已经实现了Tap手势。这可能就是问题所在。

在哪里实现了“-(void)tappendenview:(UIgestureRecognitor*)gestureRecognitor{..}”?在哪个视图控制器中?在下一个视图控制器上。从您收到的错误消息来看,self显然是一个tabbarcontroller,因此为了关闭模式视图控制器,您需要在tabbar中获取当前视图控制器。尝试使用[self.selectedViewController DismissModalViewController激活:是]?我添加了它,但单击时什么也没发生。在我的视图控制器中,我添加了scrollView,这就是为什么我没有得到当前的视图控制器,对吗?我不知道。请添加更多代码。需要了解如何创建视图控制器以及如何在它们之间转换。