Objective c 如何添加多个UIBarButtonItem';去酒吧?

Objective c 如何添加多个UIBarButtonItem';去酒吧?,objective-c,cocoa-touch,ipad,uinavigationbar,uibarbuttonitem,Objective C,Cocoa Touch,Ipad,Uinavigationbar,Uibarbuttonitem,我想在UINavigationbar中添加许多UIBarButtonItem,而不仅仅是左右按钮: logoButton = [[UIBarButtonItem alloc] initWithTitle:@"A Button" style:UIBarButtonItemStyleBordered target:self action:@selector(logoButtonAClicked:)]; logoButton2 = [[UIBarButtonItem alloc] initWithT

我想在
UINavigationbar
中添加许多
UIBarButtonItem
,而不仅仅是左右按钮:

logoButton = [[UIBarButtonItem alloc] initWithTitle:@"A Button" style:UIBarButtonItemStyleBordered target:self action:@selector(logoButtonAClicked:)];

logoButton2 = [[UIBarButtonItem alloc] initWithTitle:@"B Button" style:UIBarButtonItemStyleBordered target:self action:@selector(logoButtonBClicked:)];

logoButto3 = [[UIBarButtonItem alloc] initWithTitle:@"C Button" style:UIBarButtonItemStyleBordered target:self action:@selector(logoButtonCClicked:)];

self.navigationController.navigationBarHidden = NO;

self.title = @"Title";

NSArray* items = [[NSArray alloc] initWithObjects:logoButtonA, logoButtonB, logoButtonC, nil];
self.navigationController.navigationBar.items = items;
我在self.navigationController.navigationBar.items=items上得到一个
SIGBRT

如何将多个
UIBarButtonItem
s添加到
UINavigationBar

您应该使用

self.navigationItem.leftBarButtonItems = items;

您需要将
UIBarButtonItem
实例添加到
UINavigationItem
,而不是添加到
UINavigationBar
。因此,您可以这样做:

NSArray *buttonArray = [NSArray arrayWithObjects:logoButton, logoButton2, logoButton3, nil];
self.navigationItem.leftBarButtonItems = buttonArray;

如果希望按钮位于右侧,请使用导航栏中的添加子视图。

可能重复的不是好主意。。。这些按钮的外观或行为与标准的
UIBarButtonItem
实例不同,此外,
UIBarButtonItem
不是
UIView
的子类,因此您不能调用[navigationBar addSubview:logoButton]`.-1:从
UINavigationBar
文档:
将导航栏用作独立对象时,你有责任提供它的内容。与其他类型的视图不同,您不直接将子视图添加到导航栏。相反,您可以使用导航项(UINavigationItem类的实例)指定要显示的按钮或自定义视图。
是否有方法添加左栏按钮而不使后退按钮消失?