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类的实例)指定要显示的按钮或自定义视图。
是否有方法添加左栏按钮而不使后退按钮消失?