首页 文章

使用UINavigationBar而不使用UINavigationController

提问于
浏览
8

我想在我的UIWebView顶部使用UINavigationBar,但我想手动控制 Headers ,后退按钮,后退按钮的功能 - 等等 . 换句话说,我从不想推送或弹出视图 . 我只想在用户点击Web视图时更改UINavigationBar内容 .

我在哪里,我将UINavigationBar添加到我的superView并使其高44像素 . 由于我没有navigationItem,如何设置 Headers ?我该怎么设置一个假的后退按钮?

我会很感激任何指针 . 我意识到这是非常奇怪的我正在做的事情 .

谢谢 :)

3 回答

  • 21

    如果有人感兴趣,答案就在UINavigationBar的类引用中 .

    当您使用导航栏作为独立对象时,您负责提供其内容 . 与其他类型的视图不同,您不直接将子视图添加到导航栏 . 而是使用导航项(UINavigationItem类的实例)来指定要显示的按钮或自定义视图 . 导航项具有用于指定导航栏左侧,右侧和中心的视图以及用于指定自定义提示字符串的属性 .

    简而言之,使用UINavigationItem并在UINavigationBar上通过“pushNavigationItem”应用它 .

    我创建了一个名为StaticNavigationBar的UINavigationBar的子类,然后我可以通过在其上放置适当的UINavigationItem来加载任何状态 . 感谢所有人的回答 .

  • -1

    您可以将UINavigationBar作为插座,然后您可以根据需要进行操作 . 所以你不必参考某人的导航项目 . 它将是您视图中的独立(某种)对象 .

  • -1

    如果您不想使用导航栏,则必须自行滚动 . 如果您使用内置动画推送和弹出项目(不要与视图控制器的推/弹混淆)到条形图,那么您将设置UINavigationBarDelegate并使用其方法来控制推送/弹出的方式等 .

相关问题