故事板中的UIViewController标题属性

0xS*_*ina 36 cocoa-touch objective-c ios

我正在设置UIViewControllervia Interface Builder/Storyboard的title字段: 在此输入图像描述

这个视图控制器嵌套在一个UINavigationController嵌套在一个中UITabBarController.当我运行应用程序时,我的导航项目没有标题,标签栏项目也没有.

如果我在界面构建器中显式设置视图控制器的导航项的标题,以及它的标签栏项目的标题,那么它可以正常工作.

我想知道:

a)如果我不使用Storyboard而只使用常规xib,则设置视图控制器的标题会隐式设置导航项的标题以及标签栏项的标题.但它不是故事板.这是预期的行为吗?

b)视图控制器标题的目的是什么(在故事板中)?它似乎没有效果.

谢谢!

hgw*_*tle 24

您可以UINavigationBar通过双击实际的navigationBar并在那里输入标题来设置故事板中的标题.这只设置了标题UINavigationBar.

在代码中设置标题提供了一些不同的可能性.

self.title = @"Your title"; 将设置navigationBar的标题,并使标题级联到UITabBarItem(如果存在).

self.navigationItem.title = @"Your title"; 假设UINavigationController存在,并且不影响UITabBarItem,将仅设置navigationBar的标题.

self.navigationController.title = @"Your title"; 将设置UITabBarItem的标题,但不设置UINavigationBar的标题.

  • 谢谢,但我对代码中没有兴趣.关于在故事板中设置UINavigationBar的标题,如果你读了我的问题,这正是我做的,它的工作原理.但这不是我的问题.我想问的是,为什么UIViewController的标题没有设置它的navigationItem的标题以及它在故事板中的标签栏项目的标题(但它通过代码self.title ="blah blah blah") (2认同)

Mar*_*rio 19

步骤1

如果您正在Xcode的Interface Builder中查看Xib,请查看"Document Outline"面板(左侧第二个面板).展开您正在使用的视图控制器,直到找到标记为"导航项目"的图标.

文档大纲面板显示导航项

第2步

如果您突出显示导航项并打开"工具"面板(右侧最远),然后单击"属性"检查器,您将看到可以在何处设置视图控制器的标题.这是在Interface Builder中执行此操作的方法,而不是通过代码执行此操作.