Ios 关闭未在UIScrollView上工作的presentModalViewController
在我的应用程序中,我使用的是presentModalViewController,在下一个控制器中,我使用的是UIScrollView,也用于关闭presentModalViewController UITapgestureRecognitor 我的代码是Ios 关闭未在UIScrollView上工作的presentModalViewController,ios,objective-c,scrollview,Ios,Objective C,Scrollview,在我的应用程序中,我使用的是presentModalViewController,在下一个控制器中,我使用的是UIScrollView,也用于关闭presentModalViewController UITapgestureRecognitor 我的代码是 UITapGestureRecognizer*点击手势=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(点击视图:)]; tappostate.numbe
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,这就是为什么我没有得到当前的视图控制器,对吗?我不知道。请添加更多代码。需要了解如何创建视图控制器以及如何在它们之间转换。