我有很多定制 UINavigationBars 的经验,发现不费吹灰之力就能让它做我想做的事是一件非常痛苦的事情。因此,我编写了自己的自定义 UIView,其行为就像 UINavigationBar 一样,并且可以完全轻松地自定义。但是,我遇到了一个问题,当导航控制器将新控制器推入堆栈时,我的自定义视图停止接收触摸事件。
为了更清楚地说明这一点,我的应用程序加载并显示了一个视图控制器,在 viewDidLoad 方法中,我创建了自定义导航栏并将其添加到控制器的视图中。以编程方式创建导航控制器,并将视图控制器推送给它。此时我的自定义视图位于顶部并接收触摸事件。当我将另一个视图控制器推送到导航控制器的堆栈时,我的自定义视图仍在顶部且可见,但未接收事件。
所以我的问题是如何让我的自定义导航栏回到响应者链中?
谢谢你的帮助!