2014-02-05 2 views
0

Я создаю два UIBarButtonItem в коде ниже. Позже я добавляю их в rightBarButtonItems, но появляется только одна из двух кнопок (одна, которую я положил первым в списке). Я подумал, что, возможно, что представление заголовка (которое не задано) будет находиться перед rightBarButtonItems, поскольку в документах Apple говорится: «Если не хватает места для отображения всех элементов в массиве, те, которые будут перекрывать (если присутствует) или кнопки на левой стороне панели не отображаются. « Но это тоже не похоже, так как рама представления = {0,0} {0,0}дополнительная кнопка в правых баттонах не отображается

Я не могу понять, что я делаю неправильно. Может ли кто-нибудь рассказать мне, как получить все правильные элементыBarButtonItems? Код:

UIBarButtonItem *shareButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(shareAction:)]; 

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setFrame:CGRectMake(0, 0, 30, 30)]; 
[button setBackgroundImage:[UIImage imageNamed:@"custom-bar-button.png"] forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(barButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *wishlistButton = [[UIBarButtonItem alloc] initWithCustomView:button]; 

[self.navigationItem setRightBarButtonItems:[[NSArray alloc] initWithObjects:shareButton, wishlistButton, nil]]; 

ответ

0

Использование UIBarButtonItem:

UIBarButtonItem *button = [UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"custom-bar-button.png"] style:UIBarButtonItemStylePlain target:self action:@selector(barButtonTapped:)]; 

вместо:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setFrame:CGRectMake(0, 0, 30, 30)]; 
[button setBackgroundImage:[UIImage imageNamed:@"custom-bar-button.png"] forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(barButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; 
+0

Я действительно попробовать это, но это не сработало. Кроме того, это по сути то же самое, что и 'initWithCustomView: button', мне также нужно изменить размер png, который проще выполнить с помощью кнопки с UIBarButtonItem – BoBro

Смежные вопросы