我想在我的iphone应用程序中创建一个全局导航视图(就像ios通知视图),它将在应用程序的任何屏幕上向下滑动显示。为了实现这一点,我在UIWindow
上添加了一个子视图UIViewController.View
,并在UIWindow
上添加了UISwipeGesture
,它的工作情况与预期不谋而合。无论何时何地检测到应用程序中的滑动手势,都会显示该视图。
问题是,当执行其他一些手势时,它会出现。我只想在屏幕的顶部设置全局菜单的滑动效果。我可以为此尝试什么?
发布于 2014-03-22 22:38:03
设置手势识别器的代理并实现gestureRecognizer:shouldReceiveTouch:
,仅检测屏幕顶部的触摸:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
CGPoint location = [touch locationInView:touch.window];
BOOL touchedOnTop = location.y < 60;
return touchedOnTop;
}
我猜您已经这样做了,但是您还应该将UISwipeGestureRecognizer
的方向设置为UISwipeGestureRecognizerDirectionDown
。
如果您的应用程序支持多种界面方向,则需要进行一些额外的工作。
https://stackoverflow.com/questions/22580631
复制