我有一个模式视图控制器,它的视图来自XIB。我希望它和我的基于导航的应用程序的其余部分具有相同的外观和感觉,但它不是一个推送到导航堆栈的视图,它是以模式呈现的。我拖入一个UINavigationBar并将其设置为插座,但它没有要设置的title属性。我有两个字段可以打开这个模式视图,并且我希望根据哪个字段创建模式视图而设置不同的标题。
发布于 2011-01-13 00:22:15
UINavigationBar
管理一堆UINavigationItem
,就像UINavigationController
管理器管理一堆UIViewController
一样。要设置直接可见的内容,您应该使用pushNavigationItem:animated:
或setItems:animated:
,并使用您希望工具栏反映的视图控制器的navigationItem。
例如:
self.navigationItem.title = @"A custom title";
[self.navigationBar pushNavigationItem:self.navigationItem animated:NO];
上面的代码中,您有一个引用独立导航栏的属性navigationBar
。
如果你不想自己管理它,你可以按照mplappert的建议,将你的视图控制器(没有独立的UINavigationBar
)嵌套在一个UINavigationController
中,以模态的方式呈现导航控制器,而不是你的视图控制器。
发布于 2011-09-20 07:30:16
如果你已经在你的IB中定义了一个UINavigationBar,我也发现了这个更简单的方法。假设self.navigationBar是您的IBOutlet:
self.navigationBar.topItem.title = title;
发布于 2014-05-19 14:29:42
在创建导航项目的iboutlet中的viewControler.h文件
@property (weak, nonatomic) IBOutlet UINavigationItem *navigationBarTitle;
将其命名为"navigationBarTitle“
在视图控制器.m文件中添加超级viewDidLoad中的代码
self.navigationBarTitle.title = @"Favorites";
将导航栏项目中的storybord连接到navigationBarTitle。
https://stackoverflow.com/questions/4670907
复制相似问题