按钮未显示在导航栏中

时间:2016-05-21 14:13:52

标签: ios objective-c

我为导航栏尝试此代码

UINavigationBar *navbar = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0,320, 70)];

并且按钮我尝试了这段代码

UIBarButtonItem *add=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(SaveButtonClicked:)];
self.navigationItem.rightBarButtonItem=add;

在此代码之后我也声明了SaveButtonClicked方法。

当我尝试使用此代码时,此代码中没有错误并成功编译,但导航栏中未显示该按钮。

帮助我提供正确的代码和建议。

3 个答案:

答案 0 :(得分:0)

1)您不需要创建UINavigationBar。您所在的导航控制器提供了该功能。

2)如果你确实认为你需要一个,这可能意味着你的视图根本不在导航控制器中。检查self.navigationItem的值是多少。我想你会发现它是零。这意味着您需要重做您的界面,以便此视图实际上位于导航控制器中。 Interface Builder中“编辑器”下的“嵌入导航控制器”可能对此有所帮助。

答案 1 :(得分:0)

创建导航栏后

 UINavigationBar *navbar = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0,320, 70)];

然后你需要创建导航项目。并将导航项添加到导航栏

UINavigationItem *item = [[UINavigationItem alloc]init];
UIBarButtonItem *add=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(SaveButtonClicked:)];
item.rightBarButtonItem=add;
navbar.items = [NSArray arrayWithObjects:item, nil];
[self.view addSubview:navbar];

希望这有帮助!

答案 2 :(得分:0)

你可以使用这一行来实现:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Save" style:UIBarButtonItemStylePlain target:self action:@selector(saveButtonClicked:)];

之后添加此方法

-(void)saveButtonClicked:(UIBarButtonItem *)sender{

}

了解更多信息,请参阅Add button to navigationbar programmatically