问题
I want to add many UIBarButtonItem
's to a UINavigationbar
, not just right and left buttons:
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;
I get a SIGBRT
on self.navigationController.navigationBar.items = items;
How can I add multiple UIBarButtonItem
s to a UINavigationBar
?
回答1:
You need to add UIBarButtonItem
instance to a UINavigationItem
, not to a UINavigationBar
. So you can do this as:
NSArray *buttonArray = [NSArray arrayWithObjects:logoButton, logoButton2, logoButton3, nil];
self.navigationItem.leftBarButtonItems = buttonArray;
If you want your buttons on the right, use rightBarButtonItems
.
回答2:
You should use
self.navigationItem.leftBarButtonItems = items;
回答3:
use addSubView in navigationbar.
来源:https://stackoverflow.com/questions/9867259/how-can-i-add-multiple-uibarbuttonitems-to-a-uinavigationbar