Подкласс UINavigationController имеет дополнительные значки для правой кнопки и левой кнопки. - PullRequest
0 голосов
/ 10 ноября 2011

Я смотрю на некоторые другие приложения для iPad, которые имеют возможность добавлять дополнительные значки в leftBarButtonItem и rightBarButtonItem для UINavigationController.Вот изображение, взятое с nngroup.com: enter image description here

Для того, чтобы сделать что-то подобное, они подклассируют UINavigationController или добавляют категорию для него?Или они делают что-то другое?Я просто хотел общий подход к тому, как сделать что-то подобное, но мне не нужен весь код, так как я уверен, что это большая работа.Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 ноября 2011

Вы можете скрыть панель навигации и вместо нее показать изображение панели навигации, а затем поместить на нее кнопки:))

0 голосов
/ 11 ноября 2011

Вы можете создать объект панели инструментов и добавить кнопки на эту панель инструментов, а затем установить пользовательское представление элемента кнопки правой панели или элемента кнопки левой панели в качестве этой панели инструментов.

Пример реализации такой:

UIToolbar * toolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0,0,160, 44.5)];

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

UIBarButtonItem * deleteButton = [[UIBarButtonItem alloc]
                              initWithTitle:@"Delete"
                              style:UIBarButtonItemStyleBordered
                              target:self
                              action:@selector(deletePressed)];
// Button style is the default style
[buttons addObject:deleteButton];
[deleteButton release];


UIBarButtonItem * barItem = [[UIBarButtonItem alloc] initWithTitle:@"Logout" style:UIBarButtonItemStyleBordered
                                                            target:[Y3AppDelegate mainApplicationInstance] action:@selector(logout)];


[buttons addObject:barItem];
[barItem release];

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

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

Здесь следует отметить, что вам, возможно, придется изменить цвет оттенка панели инструментов, чтобы он соответствовал цвету панели навигации. Надеюсь, этот ответ поможет вам.

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