#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. Хорошо, но в моем случае я должен поместить его сверху, потому что внизу у меня есть сегментированный элемент управления … спасибо.