我希望我能提供足够的详细信息以获取帮助,但这是我根本无法弄清的错误。
在过去几周的开发过程中,发生了一些变化,使我应用程序中的所有导航栏都停止响应触摸。我包括的默认后退按钮和uibarbutton项似乎都无法响应触摸。我不确定如何调试它,或者为什么它不起作用。
我确保没有其他视图挡住该栏,并且它没有重要的自定义设置来阻止它接受用户交互。
为什么会发生这种情况?
编辑:
通过实现hitTest:
extension UINavigationBar {
open override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
let view = super.hitTest(point, with: event)
print(view)
return nil
}
}
我可以确定控制台打印时正在按下该按钮:
<_ UIButtonBarButton:0x11a5cee20;框架=(0 0; 44 44); layer =>(在按钮上) <_UINavigationBarContentView:0x10351d490;框架=(0 0; 375 44); layer =>(在栏上)