ios – 如何在UIKit中调试谁在吃我的东西?

我不知道为什么在我的视图中点击文本字段和按钮不起作用.我检查了所有显而易见的事情,如userInteractionEnabled是否设置为YES,是否安装了手势识别器,以及前景中是否有不可见的视图.

iOS中是否有最佳实践,用于跟踪触摸从首次出现到哪里消费?

更新:

两个答案都是有帮助的.在调查过程中,我了解到,如果子视图超出了其父级限制,即使父级没有剪辑子视图,子视图也不会收到事件.我从文字领域打印出超级视觉链,没有被触动,我看到其中一个视图的高度为0.我把一些限制拉伸出来,我的问题解决了.

解决方法

您可以继承UIWindow并覆盖 – [UIWindow sendEvent] :,然后当它被调用时,使用 – [UIWindow hitTest:withEvent:]来测试哪个视图将接收该事件.

然后,您可以调用 – [UIView recursiveDescription]打印一些调试信息,帮助您了解为什么该视图接收到触摸事件.

记得在完成后调用[super sendEvent:].

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...