【问题标题】:Is it possible to set navigationitem.title from a view's NIB?是否可以从视图的 NIB 设置 navigationitem.title?
【发布时间】:2011-09-14 15:00:47
【问题描述】:

我正在从 NIB (initWithNibName) 加载新视图,然后将其推送到导航控制器堆栈 (pushViewController)。

为了有一个正确的“返回”按钮,每个视图都应该有一个标题。 不幸的是,我没有找到在 Interface Builder 中设置 View Title 的方法。

可以在运行时完成:

- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.title = @"MyTitle";  
}

但我没能在 NIB 的设计阶段做到这一点。

有办法吗?

谢谢。


我刚刚意识到我的问题并非 100% 正确。

事实上,我正在寻找一种通过 NIB 设置 ViewController 标题的方法。

NIB 中的 UIView 与 UIViewController 不同(我正在尝试更改它的标题属性)。

所以我的问题是……关于一些不同的事情。 :)

【问题讨论】:

    标签: ios xcode4 uiviewcontroller uinavigationcontroller interface-builder


    【解决方案1】:

    您应该能够通过导航控制器项访问根视图控制器的导航项。根视图控制器的导航项具有您可以在 IB 中访问的属性标题。

    也许这张图片有帮助(您基本上点击蓝色导航栏将焦点放在导航项上):

    【讨论】:

    • 我还要补充一点,您应该注意,视图控制器的标题也将被导航控制器使用(如果可用)。因此,例如在根视图控制器的 viewDidLoad 中,您可以执行 self.title = @"root vc title"
    • 据我所知,您正在编辑 MainVindow.xib 而不是 ViewController.xib
    • 我正在寻找在设计时为不同 ViewController 设置不同标题的方法,以便在新视图被推入导航控制器堆栈后,主窗口的导航项会自动更新。
    • 是的,我在 MainWindow.xib 中,因为在该视图中,根视图控制器是导航控制器的对象。在根视图控制器自己的xib文件中,你看到的是根视图控制器的视图,而不是视图控制器对象本身。所以我相信你不能从那里设置它,因为你不能在那里访问视图控制器属性。 (现在我意识到这就是您要求从视图控制器的 .xib 与您的任何 nib 文件开始的内容)。无论如何,希望此评论中的解释有所帮助。
    • 感谢您的解释。谢谢你的照片。我很抱歉我的令人困惑的问题。我知道你在说什么。但我有不止一种观点。我说的是视图的标题。基本上我需要的只是一种在NIB中设置视图标题的方法。 (然后,一旦该视图被推入导航控制器堆栈,导航项将使用该标题。)
    猜你喜欢
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2011-09-18
    • 2018-09-22
    相关资源
    最近更新 更多