在Iphone SDK中的导航栏上添加多个按钮

我想在导航栏中添加两个带有自定义图像的按钮,其中包含一些特定的位置。

我找到了解决方案但它适用于右/左导航栏按钮。

我的代码是:

NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:2]; UIToolbar *tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 90.0f, 55.01f)]; // Add Pin button. UIBarButtonItem *bi1 = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStylePlain target:self action:@selector(Edit:)]; bi1.style = UIBarButtonItemStyleBordered; bi1.width = 45; [buttons addObject:bi1]; [bi1 release]; // Add Hot Spot button. UIBarButtonItem *bi2 = [[UIBarButtonItem alloc] initWithTitle:@"+" style:UIBarButtonItemStylePlain target:self action:@selector(Add:)]; bi2.style = UIBarButtonItemStyleBordered; [buttons addObject:bi2]; [bi2 release]; // Add buttons to toolbar and toolbar to nav bar. [tools setItems:buttons animated:NO]; [buttons release]; // Add toolbar to nav bar. UIBarButtonItem *twoButtons = [[UIBarButtonItem alloc] initWithCustomView:tools]; [tools release]; self.navigationItem.rightBarButtonItem = twoButtons; [twoButtons release]; 

我怎样才能做到这一点?

 UIView *vieww =[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; [vieww addSubview:yourBtn1]; [vieww addSubview:yourBtn2]; [self.navigationController.navigationBar addSubview:vieww]; 

如果你想删除你的按钮,那么make就是全局对象;

 in .h UIView *vieww; 

.m

 -(void)viewWillDisappear:(BOOL)animated { [vieww removeFromSuperview]; } 

或者按照这个获取更多链接

如果您使用的是> iOS 5,请使用此function。

 UIBarButtonItem *btn1=[[UIBarButtonItem alloc] initWithTitle:@" + " style:UIBarButtonItemStyleDone target:self action:@selector(action1:)]; UIBarButtonItem *btn2=[[UIBarButtonItem alloc] initWithTitle:@" - " style:UIBarButtonItemStyleDone target:self action:@selector(action2:) ]; self.navigationItem.rightBarButtonItems=[NSArray arrayWithObjects:btn1,btn2,nil]; 

对于

 UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 160, 44.01)]; tools.barStyle = UIBarStyleBlackOpaque; // create the array to hold the buttons, which then gets added to the toolbar NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:4]; [buttons addObject:btn1]; [buttons addObject:btn2]; [tools setItems:buttons animated:NO]; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools]; 

您可以创建一个UIView,在该视图上添加两个按钮,而不是添加工具栏。

  UIBarButtonItem *twoButtons = [[UIBarButtonItem alloc] initWithCustomView:yourView]; 

如果您想结合使用故事板进行此操作 ,请查看此问题 。