【问题标题】:Dismissing a modal view in ios when tapped out of the view on iPad在 iPad 上点击视图时关闭 ios 中的模态视图
【发布时间】:2016-01-06 07:21:37
【问题描述】:

当用户在模式视图之外点击时,我想关闭 iOS 中的模式视图(iPad 上的非全屏模式)。

在某些 SO 答案中建议的一种可能方法是将UITapGestureRecognizer 添加到窗口 (Iphone SDK dismissing Modal ViewControllers on ipad by clicking outside of it)。但是,在我的情况下,这增加了点击识别,但只有在模态范围内进行点击时才会检测到点击,而不是在模态外部时检测到。

由于根本没有检测到模态边界之外的点击,我该如何关闭模态?

【问题讨论】:

    标签: ios ipad


    【解决方案1】:

    试试这个代码。 if 条件检查触摸是否不在视图中。

       - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
        {
            UITouch *touch = [[event allTouches] anyObject];
            for (UIView* subView in self.subviews) 
            {
                if(![subView pointInside:[self convertPoint:touch toView:subView] withEvent:event])
                {
                   NSLog(@"Dismiss modal view here");
                }
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2015-04-01
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多