iPhone-从xib加载视图控制器时忽略UINavigationItem

iPhone-从xib加载视图控制器时忽略UINavigationItem,iphone,uinavigationcontroller,uinavigationitem,Iphone,Uinavigationcontroller,Uinavigationitem,我在UINavigationController中有一个UIViewController,我正在将第二个UIViewController从XIB文件推到导航堆栈上。该XIB还包括一个用于第二视图控制器标题和按钮的UINavigationItem,但在加载XIB时忽略这些。有什么想法吗 这是我的代码(photoViewController是第二个viewController) 导航项被忽略,因为它与此控制器无关,它恰好位于此控制器的XIB中。控制器的导航项是在实例化时创建的。您必须在代码中设置标题

我在
UINavigationController
中有一个
UIViewController
,我正在将第二个
UIViewController
从XIB文件推到导航堆栈上。该XIB还包括一个用于第二视图控制器标题和按钮的
UINavigationItem
,但在加载XIB时忽略这些。有什么想法吗

这是我的代码(photoViewController是第二个viewController)


导航项被忽略,因为它与此控制器无关,它恰好位于此控制器的XIB中。控制器的导航项是在实例化时创建的。您必须在代码中设置标题和导航按钮(例如在
viewDidLoad
中),因为控制器没有
navigationItem
出口。XIB中的UINavigationItem仅在UINavigationController的根控制器内工作。

您可以从interface builder将其连接起来。将类似以下内容添加到视图控制器:

IBOutlet UINavigationItem* navigationItem;

然后将其连接到视图控制器出口(可能从文件所有者连接到XIB中的
UINavigationItem
)。我已经这样做了,效果很好。我想
UINavigationController
会自动查找“导航项”。

谢谢。所以这里没有办法使用Interface Builder中的UINavigationItem?恐怕没有。它与控制器中视图加载的顺序有关。我忘了它是什么,但现在UINavigationItem无法从XIB工作。如果在将控制器的视图添加到UINavigationController之前加载了它,这将起作用。同意Sulthan-因此,如果根控制器从XIB加载它的navigationItem,它将崩溃。建议使用故事板或使用代码。
IBOutlet UINavigationItem* navigationItem;