iPhone. настройка навигационного контроллера

#iphone #ios #ipad

#iPhone #iOS #iPad

Вопрос:

Я использую шаблон Xcode, который генерирует проект контроллера навигации.

Когда он запускается, делегат загружает тот RootViewController , который имеет a NavigationController сверху.

Я вижу a navigationBar с кнопкой «Назад».

Теперь я внутри viewDidLoad .

Как, во имя всего святого, мне это настроить navigationBar ?

Даже простая задача избавиться от кнопки «Назад» невозможна.

Что мне нужно, так это: поместить a UIView , который охватывает всю navigationBar область (я буду использовать это, чтобы показывать AdMob / iAds по всему приложению)

Как мне ДЕЙСТВИТЕЛЬНО получить доступ к панели навигации?

Выполнение этого не работает.

 UINavigationBar *bar = [self.navigationController navigationBar];   
UIView *view = [[UIView alloc] intWithFrame: 0,0,320,50];
// put content inside view
[bar adSubview view];
[view release];
 

Ответ №1:

Вы не должны добавлять вложенный просмотр в панель навигации (макет панели навигации представляет собой сам известный вложенный просмотр, чтобы соответствовать контексту, определяющему размер titleview в зависимости от того, есть ли у него кнопка «Назад», leftbtn, rightbtn и т. Д.)

Если вам нужно настроить фон, начиная с iOS5, у вас есть backgroundView свойство

Если вы не хотите иметь кнопку возврата, просто установите hidesBackButton для свойства UINavigationItem , связанного с соответствующим UIViewController, значение YES . (Не могу пропустить это свойство в документации navigationItem)

Если вам нужна какая-либо другая настройка, просто прочитайте документацию, там все объясняется. Как в ссылках на классы UINavigationBar и UINavigationItem, так и в руководстве по программированию контроллера просмотра, в котором объясняется все это и то, как взаимодействуют каждый класс и компоненты, чтобы заставить navCtrl работать.

Ответ №2:

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

Я не знаю, одобрит ли Apple ваш дизайн. Я не использовал IADS или множество приложений с ними, но, по моему опыту, они, как правило, находятся внизу экрана, а не вверху — вероятность случайного нажатия на один из них может быть слишком большой, особенно с уведомлениями ios5.

Комментарии:

1. Хорошо, но в моем случае я должен поместить его сверху, потому что внизу у меня есть сегментированный элемент управления … спасибо.