2012-06-28 3 views
0

IPad от Apple почты приложение имеет несколько значков, которые появляются встроенные в setRightBarButtonItems площадь navigationItem в детальном контроллера Разделить:Показать UIBarButtonItem так же, как Apple, IPad почты App

enter image description here

Как добавить значки в панель navigationItem, как это (у меня уже есть значки).

Моя проблема заключается в том, что ссылка на класс UIBarButtonItem, похоже, не имеет соответствующего UIBarButtonItemStyle, который не допускает границы вокруг кнопки. Я попытался настроить UIBarButtonItem через initWithCustomView, но нажатие кнопки не работает.

Заранее спасибо за любые предложения

Cheers

EDIT: Я мог бы использовать UIBarButtonItemStylePlain однако это не выглядит «вложенным» как кнопки яблока, которая является внешним видом я после.

enter image description here

+0

Какова ваша проблема по умолчанию 'UIBarButtonItemStylePlain'? –

+0

Привет, Дэвид, спасибо за ваш ответ. Я редактировал исходное сообщение, чтобы показать результат UIBarButtonItemStylePlain. К сожалению, это не тот взгляд, которого я пытаюсь достичь. – Timbo

+0

Это похоже на граничный стиль, вы уверены, что он настроен правильно? В некоторых случаях простой стиль не поддерживается. –

ответ

0

Я работал его и может привести к следующему результату:

enter image description here

Вот код, я использую. Это может быть оптимизирована, однако, приятно и повторяющимся для демонстрационных целей:

- (void)setupNavigationItemButtons { 

float buttonWidth = 60; 
float buttonHeight = 40; 

UIImage *imageA = [UIImage imageNamed:@"212-action2.png"]; 
UIImage *imageB = [UIImage imageNamed:@"111-user.png"]; 
UIImage *imageC = [UIImage imageNamed:@"122-stats.png"]; 

UIButton *buttonA = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, buttonWidth, buttonHeight)]; 
UIButton *buttonB = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, buttonWidth, buttonHeight)]; 
UIButton *buttonC = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, buttonWidth, buttonHeight)]; 

[buttonA addTarget:self action:@selector(doSomething:)  forControlEvents:UIControlEventTouchUpInside]; 
[buttonB addTarget:self action:@selector(doSomethingElse:) forControlEvents:UIControlEventTouchUpInside]; 
[buttonC addTarget:self action:@selector(doSomethingRandom:)forControlEvents:UIControlEventTouchUpInside]; 

[buttonA setImage:imageA forState:UIControlStateNormal]; 
[buttonB setImage:imageB forState:UIControlStateNormal]; 
[buttonC setImage:imageC forState:UIControlStateNormal]; 

UIBarButtonItem *buttonItemA = [[UIBarButtonItem alloc] initWithCustomView:buttonA]; 
UIBarButtonItem *buttonItemB = [[UIBarButtonItem alloc] initWithCustomView:buttonB]; 
UIBarButtonItem *buttonItemC = [[UIBarButtonItem alloc] initWithCustomView:buttonC]; 

[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:buttonItemA, buttonItemB, buttonItemC,nil]]; 

}

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