无法以编程方式设置UINavigationItem标题

时间:2012-05-30 18:18:17

标签: ios uinavigationcontroller uinavigationbar uinavigationitem uistoryboard

我使用故事板设置了我的应用,并将我的主视图控制器嵌入UINavigationControler。要更改导航栏中显示的标题,在我的主视图控制器的viewDidLoad方法中,我有self.navigationItem.title = @"My Title";但标题永远不会被设置。

我的猜测是我需要在故事板中设置一个参考插座,但我不确定需要与什么相关联。有什么想法吗?

3 个答案:

答案 0 :(得分:7)

在故事板中,它没有自动连接,在你的.h文件中使用以下代码制作UINavigationItem

@property(weak, nonatomic) IBOutlet UINavigationItem *navBar;
<。>在.m文件中合成属性并设置标题如下

@synthesize navBar;
-(void)viewWillAppear:(BOOL)animated {
[self.navBar setTitle:@"Sign In"];
[self.navigationController setNavigationBarHidden:NO animated:animated];
}

另外,不要忘记将storyBoard中的UINavigationItem“navBar”与ur类连接,以便故事板知道要更改的标题。如果您的故事板中没有UINavigationItem,请将其添加到UIView之外,然后正确连接

答案 1 :(得分:3)

只需设置您所在视图控制器的title属性即可。

[self setTitle:@"Best Page Ever"];

答案 2 :(得分:0)

分配完根视图后,使用: -

YourRootView *rootView=[YourRootView alloc]init];
rootView.title=@"yourTitle";

然后在uinavigationcontroller中初始化它。(我不知道你是否在故事板上有你的视图,然后在分配之后设置它的标题,然后将它作为参数传递给navigationcontroller)。