Заголовки заголовков iPad. Navbars или панели инструментов?
Я вижу кучу приложений для iPad с действительно классными заголовками. Кажется, это сочетание панели навигации и панели инструментов. Обычно у них есть кнопка "Назад" и название, а также другие кнопки. И navbar поддерживает только левый элемент, правый элемент и вид заголовка. И панель инструментов на самом деле не поддерживает обратные кнопки или заголовки.
Итак, как мне реализовать эти богатые навигаторы со многими кнопками в моем приложении, управляемом UINavigationController?
Ответы
Ответ 1
Вы можете получить этот эффект, положив 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];
source: этот блог через Google.
Ответ 2
Большинство из этих приложений используют UISplitViewController на своем базовом уровне, а UIToolbar - в верхней части большого правого подробного представления для контроллера разделенного представления. Левое представление обеспечивается с помощью UINavigationController. Это дает вам элементы управления навигации на панели инструментов слева, а также несколько кнопок панели инструментов справа. Это отдельные столбцы в верхней части экрана, но они могут отображаться вместе, если для них используется один и тот же стиль.
Для примера, как это сделать, вы можете загрузить исходный код в мое универсальное приложение для iPhone/iPad Molecules и посмотреть внутри SLSMoleculeAppDelegate, где я строю контроллер разделенного представления в коде и SLSMoleculeiPadRootViewController, где я настраивал панель инструментов и ее элементы.
Ответ 3
Вы также можете скрыть контроллер навигации с помощью
self.navigationController.navigationBarHidden = YES;
.
Но в то же время добавьте кнопку "Назад" слева от панели инструментов, которая вызовет popviewcontrollers