заголовки iPad. Навбары или панели инструментов? - PullRequest
13 голосов
/ 10 апреля 2010

Я вижу кучу приложений для iPad с действительно классными заголовками. Похоже, они представляют собой комбинацию панели навигации и панели инструментов. Они обычно имеют кнопку "Назад" и заголовок, а также другие кнопки. А навигационная панель поддерживает только левый элемент, правый элемент и вид заголовка. И панель инструментов действительно не поддерживает кнопки назад или заголовки.

Итак, как мне реализовать эти многофункциональные навигационные панели с множеством кнопок в моем приложении, управляемом UINavigationController?

Ответы [ 3 ]

10 голосов
/ 10 апреля 2010

Вы можете получить этот эффект, добавив UIToolbar в свой UINavigationItem, например:

self.navigationItem.title = @"My Title";    


UIToolbar *tb = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
tb.items = [NSArray arrayWithObjects:button1,button2,button3,nil];

UIBarButtonItem *tbItem = [[UIBarButtonItem alloc] initWithCustomView:tb];
self.navigationItem.rightBarButtonItem = tbItem;

[tbItem release];
[tb release];

источник: этот блог, через Google.

4 голосов
/ 11 апреля 2010

Большинство этих приложений используют UISplitViewController на своем базовом уровне, а панель UIToolbar находится в верхней части увеличенного правого подробного представления для контроллера с разделенным представлением. Вид слева предоставляется UINavigationController. Это дает вам элементы управления навигацией на панели инструментов слева, а также несколько кнопок панели инструментов справа. Это отдельные панели в верхней части экрана, но они могут слиться, если для них используется один и тот же стиль.

В качестве примера того, как это сделать, вы можете загрузить исходный код в мое универсальное приложение для iPhone / iPad Molecules и заглянуть внутрь SLSMoleculeAppDelegate, где я создаю контроллер разделения представления в коде, и SLSMoleculeiPadRootViewController, где я настраиваю панель инструментов и ее элементы.

2 голосов
/ 23 апреля 2011

Вы также можете скрыть навигационный контроллер с помощью
self.navigationController.navigationBarHidden = YES; . Но в то же время добавьте кнопку «Назад» слева от панели инструментов, которая будет вызывать popviewcontrollers

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