IOS禁用Tab bar顶部的触摸区域

Posted

技术标签:

【中文标题】IOS禁用Tab bar顶部的触摸区域【英文标题】:IOS disable the touch area on top of Tab bar 【发布时间】:2016-02-20 03:45:37 【问题描述】:

红色区域是始终“在顶部”的区域,因此我的所有触摸都在屏幕上。

我发现标签栏有一个始终位于顶部的区域,因此会阻止我的所有触摸事件。即使我以编程方式在标签栏项目的顶部添加 UI 按钮,它也不起作用。

那么,它是什么?我怎样才能删除这样的区域?

【问题讨论】:

【参考方案1】:

你可以试试

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) 
    let p = touches.first?.locationInView(self.window)
    if CGRectContainsPoint(UIApplication.sharedApplication().statusBarFrame, p!)
       // do something you want
    

它是window顶部的一个窗口,window的windowLevel是StatusBar,在keywindow之上。你可以新建一个窗口并设置alertLevel。

【讨论】:

以上是关于IOS禁用Tab bar顶部的触摸区域的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中禁用单个 HTML 元素的触摸操作

按钮背景颜色动画禁用触摸(IOS)

如何使用背景图像删除 > iOS 10 和 Swift 4 中的 Tab Bar 顶部边框(阴影)?

在 iOS 中禁用 uiwebview 上的某些触摸事件

ios:在点击collectionview单元格或tableview单元格时禁用第二个触摸事件

顶部安全区域约束动画