状态栏区域未检测到点击手势?
Posted
技术标签:
【中文标题】状态栏区域未检测到点击手势?【英文标题】:The tap gesture isn't detected on the status bar area? 【发布时间】:2018-12-18 11:42:25 【问题描述】:标题说明了一切。
有什么方法可以在 ios 11 中检测状态栏上的点击手势?
我已经为此搜索过,并按照建议进行了尝试,但它们似乎都是过时的答案。
我想知道是否有人已经想出了如何解决这个问题。
【问题讨论】:
【参考方案1】:我在 AppDelegate.swift 中使用此代码
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
super.touchesBegan(touches, with: event)
let statusBarRect = UIApplication.shared.statusBarFrame
guard let touchPoint = event?.allTouches?.first?.location(in: self.window) else return
if statusBarRect.contains(touchPoint)
// tap on statusbar, do something
【讨论】:
您确定此代码有效吗?状态栏rect从一开始就不会调用touchBegan函数。 是的,在装有 iOS 11.2.6 的 iPhone X 上,触摸状态栏或凹槽时可以正常工作。 你是对的。我尝试在除其他视图之外的非常 AppDelegate 中实现它,它被检测到。谢谢。以上是关于状态栏区域未检测到点击手势?的主要内容,如果未能解决你的问题,请参考以下文章
当 UIPopoverController 处于活动状态时,UIWebView 未检测到点击
我已经隐藏了导航栏和状态栏,现在屏幕边缘平移手势返回不起作用,这是典型的吗?