将项添加到NavigationBar(不使用UINavigationController)

nac*_*o4d 9 iphone cocoa-touch

我有一个带有UITableView的UIViewController,还添加了一个UINavigationBar.如何以编程方式在该栏中添加和"编辑"按钮和"+"按钮?(我尝试过使用IB,但标题总是被替换,而不是添加其他项目)我没有使用UINavigationController.是我的UIViewController独自站立.

这是我尝试过没有成功的:

UIBarButtonItem *barButton = 
    [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonItemStyleBordered 
                                                  target:nil
                                                  action:nil];
UINavigationItem *editItem = [[UINavigationItem alloc] initWithTitle:@"Title"];
[editItem setLeftBarButtonItem:barButton animated:YES];
[navigationBar setItems:[NSArray arrayWithObject:editItem] animated:YES];
Run Code Online (Sandbox Code Playgroud)

Tho*_*ler 34

UIViewController有一个navigationItem属性.您可以设置在左,右栏按钮的项目self.navigationItem.leftBarButtonItem = ...self.navigationItem.rightBarButtonItem = ...

编辑:

好的,我猜你有参考你的UINavigationBar?然后我想你会添加一个UINavigationItem:

UINavigationItem *item = [[UINavigationItem alloc] initWithTitle:@"A Title"];
theNavigationBar.items = [NSArray arrayWithObject:item];
[item release]; // or keep this as an instance variable
Run Code Online (Sandbox Code Playgroud)

然后设置该项的左右按钮:

theNavigationBar.topItem.leftBarButtonItem = ...;
theNavigationBar.topItem.rightBarButtonItem = ...;
Run Code Online (Sandbox Code Playgroud)

我没有试过这个,但我认为它应该有效.