我想在我的iphone应用程序中创建一个全局导航视图(如ios通知视图),它将在应用程序的任何屏幕上向下滑动时显示。我已在UIViewController.View
上添加了一个子视图UIWindow
,以便在UISwipeGesture
上与UIWindow
一起实现这一点,并且它的工作正如预期的那样。无论何时何地在检测到应用程序轻扫手势中都会显示该视图。
问题是当执行其他一些手势时会出现。我想仅在屏幕顶部设置滑动对全局菜单的效果。我能为此尝试什么?
答案 0 :(得分:0)
设置您的手势识别器代理并实施gestureRecognizer:shouldReceiveTouch:
以仅检测屏幕顶部的触摸:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
CGPoint location = [touch locationInView:touch.window];
BOOL touchedOnTop = location.y < 60;
return touchedOnTop;
}
我猜您已经这样做了,但您还应该将UISwipeGestureRecognizer
的方向设置为UISwipeGestureRecognizerDirectionDown
。
如果您的应用支持多种界面方向,则需要额外的工作。