使用UINavigationBar而不使用UINavigationController

时间:2012-02-08 06:33:12

标签: iphone ios uinavigationbar

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

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

我很感激任何指针。我意识到这很奇怪,我正在做什么。

谢谢:)

3 个答案:

答案 0 :(得分:22)

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

  

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

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

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

答案 1 :(得分:-1)

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

答案 2 :(得分:-1)

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