在整个应用程序中始终保持 UIView 处于顶部
Posted
技术标签:
【中文标题】在整个应用程序中始终保持 UIView 处于顶部【英文标题】:Keep UIView always on top throughout the app 【发布时间】:2014-03-22 16:56:01 【问题描述】:我想在我的 iphone 应用程序中创建一个全局导航视图(如 ios 通知视图),该视图将在从应用程序的任何屏幕向下滑动时显示。我在UIWindow
上添加了一个子视图UIViewController.View
以及UISwipeGesture
在UIWindow
上实现此目的,并且它按预期工作。无论何时何地检测到应用滑动手势,都会显示视图。
问题是它在执行其他一些手势时出现。我只想在屏幕顶部设置滑动全局菜单的效果。我可以为此尝试什么?
【问题讨论】:
【参考方案1】:设置您的手势识别器的委托并实现gestureRecognizer:shouldReceiveTouch:
以仅检测屏幕顶部的触摸:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
CGPoint location = [touch locationInView:touch.window];
BOOL touchedOnTop = location.y < 60;
return touchedOnTop;
我猜你已经这样做了,但你也应该将UISwipeGestureRecognizer
的方向设置为UISwipeGestureRecognizerDirectionDown
。
如果您的应用支持多种界面方向,则需要做一些额外的工作。
【讨论】:
以上是关于在整个应用程序中始终保持 UIView 处于顶部的主要内容,如果未能解决你的问题,请参考以下文章