Ios 如何从Xib加载的ViewController设置NavigationController navigationItem标题

Ios 如何从Xib加载的ViewController设置NavigationController navigationItem标题,ios,objective-c,uinavigationcontroller,Ios,Objective C,Uinavigationcontroller,我有一个UIViewController,它从一个Xib文件加载它的视图。在myAppDelegate.m中,我想用myViewController启动我的rootViewController,我想通过使用myViewController的Xib文件中的NavigationBar视图来设置navigtionItem的标题: MyViewController *myViewController = [[MyViewController alloc] init]; UINavigationContr

我有一个
UIViewController
,它从一个Xib文件加载它的视图。在my
AppDelegate.m
中,我想用myViewController启动我的rootViewController,我想通过使用myViewController的Xib文件中的
NavigationBar
视图来设置navigtionItem的标题:

MyViewController *myViewController = [[MyViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:myViewController];
根据

每次顶级视图控制器更改时,导航控制器都会相应地更新导航栏

在我的设置中,这似乎不发生,或者我没有指出我的代码>导航栏< /Cord>视图实际上是要考虑的导航栏。 如何告诉NavigationController根据myViewController的Xib文件中的

NavigationBar
视图更新其navigationItem内容(标题、左栏和右栏按钮)

更新

我的Xib布局如下所示:

我知道我可以通过以下方式在代码中设置这些项:

self.navigationItem.titleView = ...;
self.navigationItem.leftBarButtonItem = ...;

但是我希望它们在ViewController的Xib文件中进行设计,并且应该在NavigationController中使用。

视图中,它们将出现在您的ViewController集中的
方法中-

      self.navigationItem.title = @"Title name";

同样,您可以
设置self.navigationItem.leftBarButton
和RightBarButton项目

将UINavigationBar视图添加到主UIView中并不像您想象的那样。它只是在视图中添加了一个导航栏视图,而没有绑定到UINavigationController

如果使用故事板,可以将添加为
UIViewController
的子级。但由于您没有使用故事板,因此最简单的方法是更新
viewDidLoad
中的
navigationItem


旁注:苹果不建议使用
viewDidLoad
设置导航项。如果您真的想以正确的方式进行操作,例如,您可以在
navigationItem
getter中进行操作

- (UINavigationItem*)navigationItem
{
  // get super navigation item
  UINavigationItem *navItem = [super navigationItem];

  // do stuff 

  return navItem;
}

通常,我会在视图控制器的
viewDidLoad
方法中分配
self.navigationItem.titleView
self.navigationItem.leftBarButtonim
等。您是否在xib的
UIView
中添加了
NavigationBar
视图?如果是这样,那就不是它的工作原理。您需要将
UINavigationItem
实际添加到xib中的控制器。当然,您还需要用nib初始化控制器。@ChrisLoonam谢谢您的提示。这不是我要找的。查看我的更新@雷格斯:是的,这就是我所做的,我想要的。我在导航栏中添加了UINavigationItem。请参阅更新的问题。谢谢您的回答。你能给我指出苹果公司建议在getter中设置
navigationItem
的链接吗?他们只说:“避免将导航项中的条形按钮项的创建与视图控制器视图的创建捆绑在一起。可以独立于视图控制器的视图检索视图控制器的导航项。(...)"