无法将UIBarButtonItem添加到独立的UINavigationBar

时间:2010-11-22 04:58:21

标签: cocoa-touch uinavigationbar

我以编程方式将UINavigationBar添加到UIView,现在需要向其添加UIBarButtonItem。我正在尝试使用以下内容:

UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissView)];
[header setItems:[NSArray arrayWithObjects:doneButton, nil] animated:NO];
[doneButton release];

我的应用程序崩溃了,我在控制台中找到了这个:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIBarButtonItem setNavigationBar:]: unrecognized selector sent to instance 0x4b75c00'

如果有人可以请指出我在这里做错了什么,我将不胜感激。

感谢。 瑞奇。

2 个答案:

答案 0 :(得分:16)

UINavigationBar接受一组UINavigationItem个对象,每个对象都包含有关给定级别导航层次结构的属性。您可能想要创建一个新的UINavigationItem,然后将其rightBarButtonItem属性设置为“完成”按钮。

答案 1 :(得分:4)

根据目前的答案,您不太可能需要创建新的UINavigationItem。相比之下,如果您已经从包含视图的笔尖初始化UINavigationBar,则只需将UINavigationItem添加到topItem的{​​{1}}属性即可。像这样:

UINavigationBar