静态标题/导航栏?

时间:2011-01-18 02:22:41

标签: iphone cocoa-touch ios

我是iphone开发的新手。我的应用程序使用标签栏作为其主要导航机制。我只是想在每个屏幕的顶部显示一个静态标题(导航?)栏,显示我的公司徽标而不显示其他文字。

实现这一目标的最佳方法是什么?我是否需要子类化NavigationBar?

谢谢!

1 个答案:

答案 0 :(得分:3)

UITabBarController坚持抓住整个屏幕,因此每个标签都需要显示自己的标题条实例(至少,这是阻力最小的路径。有办法强制单个视图保持在所有选项卡的顶部,但他们的工作量更大。)

两种基本方法,一种方法略有不同:

  • UITabBarController包含 n UINavigationController,其中每个都包含一个VC作为其根视图控制器。其中每个都有UINavigationItem,其中包含自定义标题视图,其中包含您的徽标。纯粹使用UINavigationController标题栏是完全受苹果鼓励的模式;如果他们需要,您的VC将能够轻松地进行导航推送。

  • UITabBarController直接包含您的风险投资;然后(如上面的评论所述)每个都在其自己的笔尖布局中的某个地方包含UIToolbar,可能在顶部。根据您的喜好填充它,可能带有带自定义视图的UIBarButtonItem,如果您希望它居中,则可以使用灵活的空间项目。好/坏功能:如果您这样做,您的徽标实际上是一个按钮。

  • 与2相同,但UINavigationBar的布局类似。 UINavigationBar可以在没有UINavigationController的情况下“裸露”使用。不需要对它进行子类化,只需在其中填充带有自定义标题视图的navigationItem。如果你想要它,这会给你免费的居中和文本标题,并避免按钮行为。