【问题标题】:Creating a custom view to replace UINavigationBar创建自定义视图来替换 UINavigationBar
【发布时间】:2012-10-29 15:27:38
【问题描述】:

我有很多自定义 UINavigationBars 的经验,发现不费吹灰之力就能让它做我想做的事情是一件非常痛苦的事情。因此,我编写了自己的自定义 UIView,其行为就像 UINavigationBar 一样,并且可以完全轻松地自定义。但是,我遇到了一个问题,当导航控制器将新控制器推入堆栈时,我的自定义视图停止接收触摸事件。

为了更清楚地说明这一点,我的应用程序加载并显示了一个视图控制器,在 viewDidLoad 方法中,我创建了自定义导航栏并将其添加到控制器的视图中。以编程方式创建导航控制器,并将视图控制器推送给它。此时我的自定义视图位于顶部并接收触摸事件。当我将另一个视图控制器推送到导航控制器的堆栈时,我的自定义视图仍在顶部且可见,但未接收事件。

所以我的问题是如何让我的自定义导航栏回到响应者链中?

感谢您的帮助!

【问题讨论】:

    标签: iphone ios ipad uinavigationcontroller uinavigationbar


    【解决方案1】:

    如果您不必支持 iOS - (instancetype)initWithNavigationBarClass:(Class)navigationBarClass toolbarClass:(Class)toolbarClass 方法添加 UINavigationBar,而不是手动添加。

    【讨论】:

    • 有意思...之前没注意过这个方法...可惜这个项目需要支持回4.3...不过还是谢谢啦
    • 有人还在用4.3吗? :)
    • 可能不会,但是我的客户希望确保任何人都可以使用该应用程序,因此他想尽可能返回...我的意见是,如果有人仍在使用 4.3,您可能无论如何都不希望他们成为客户......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多