Как добавить кнопки в верхнюю панель подробного вида из UITableView - PullRequest
1 голос
/ 31 августа 2011

Когда выбран элемент из UITableView, загружается подробный вид, в верхней части которого находится панель баннера с кнопкой «Назад» для перехода к таблице.

Как добавить другие кнопкина этот баннер?

Ответы [ 2 ]

5 голосов
/ 31 августа 2011

Как сказал Эндрю, вы можете добавить пользовательские виды на панель навигации.Например, если вы хотите добавить несколько кнопок в правой части панели навигации, вы можете сделать что-то вроде этого:

// right side of nav bar
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 106, 44)];
NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:3];

UIBarButtonItem *deleteButton = [[UIBarButtonItem alloc]
                                 initWithBarButtonSystemItem:UIBarButtonSystemItemTrash
                                 target:self
                                 action:@selector(deleteAction:)];
deleteButton.style = UIBarButtonItemStyleBordered;
[buttons addObject:deleteButton];
[deleteButton release];

UIBarButtonItem *spacer = [[UIBarButtonItem alloc]
                           initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
                           target:nil
                           action:nil];
[buttons addObject:spacer];
[spacer release];

UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]
                                 initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
                                 target:self
                                 action:@selector(cancelAction:)];
cancelButton.style = UIBarButtonItemStylePlain;
[buttons addObject:cancelButton];
[cancelButton release];

[toolbar setItems:buttons animated:NO];
toolbar.barStyle = -1;
[buttons release];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbar];
[toolbar release];

Обязательно настройте ширину (106 выше), если вам нужно большеили более широкие кнопки, а затем предоставьте методы для селекторов (deleteAction: и cancelAction: выше).

2 голосов
/ 31 августа 2011

По вашему описанию, похоже, что вы правильно настроили UINavigationController.Эта «панель баннеров», которую вы описываете, правильно называется панелью навигации.

В подробном представлении вы можете использовать:

UIBarButtonItem* button = [[[UIBarButtonItem alloc] initWithTitle:"HiMom" style:UIBarButtonItemStylePlain target:self action:@selector(onHiMom:)] autorelease];
self.navigationItem.rightBarButtonItem = button;

Вы также можете добавить собственные представления (вместокнопка) плюс несколько других настроек.Я предлагаю покопаться в документации по UINavigationItem, UINavigationBar и UIBarButtonItem для идей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...