如何在ios7中向rightBarButtonItem添加多个UIBarButtonItem?

时间:2013-09-26 07:01:54

标签: objective-c ios7 uibarbuttonitem xcode5 rightbarbuttonitem

我有一个在ios6中运行良好的现有代码。但是在ios7中,最左边的项目(“刷新按钮”)没有显示与其他两个UIBarButtonItem对齐。它显示出一点点下降。这是iOS6的代码。我需要做些什么改变才能在iOS7中工作。

 // create an array for the buttons
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:3];

// create a standard save button
UIBarButtonItem* refreshButton = [[UIBarButtonItem alloc]
                                  initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
                                  target:self
                                  action:@selector(refreshButtonClicked:)];

refreshButton.style=UIBarButtonItemStyleBordered;
//self.navigationItem.rightBarButtonItem = refreshButton;

[buttons addObject:refreshButton];
[refreshButton release];

// create a spacer between the buttons
UIBarButtonItem *spacer = [[UIBarButtonItem alloc]
                           initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
                           target:nil
                           action:nil];

[buttons addObject:spacer];
[spacer release];

// create a standard delete button with the trash icon
UIButton *button = [UIButton buttonWithType:UIButtonTypeInfoDark];
[button setFrame:CGRectMake(0, 0, 30, 30)];

[button addTarget:self action:@selector(InfoButtonTapped:) forControlEvents:UIControlEventTouchUpInside];

infoItem = [[UIBarButtonItem alloc] initWithCustomView:button];
[buttons addObject:infoItem];

// put the buttons in the toolbar and release them
[toolbar setItems:buttons animated:NO];
[buttons release];

// place the toolbar into the navigation bar
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]
                                           initWithCustomView:toolbar]autorelease];

由于

1 个答案:

答案 0 :(得分:4)

尝试:

self.navigationItem.rightBarButtonItems = buttons;