используя UINavigationBar без UINavigationController - PullRequest
8 голосов
/ 08 февраля 2012

Мне нужна панель UINavigationBar вверху моего UIWebView, но я хочу вручную контролировать заголовок, кнопку «Назад», то, что делает кнопка «Назад» и т. Д. Другими словами, я никогда не хочу нажимать или выдвигать представления.Я просто хочу изменить содержимое UINavigationBar, когда пользователь щелкает по веб-представлению.

Я только что добавил UINavigationBar в свой superView и сделал его высотой 44 пикселя.Как установить заголовок, так как у меня нет навигационного элемента?Как бы настроить фальшивую кнопку назад?

Буду признателен за любые указатели.Я понимаю, что это довольно странно, что я делаю.

Спасибо:)

Ответы [ 3 ]

22 голосов
/ 08 февраля 2012

Ответ, если кому-то интересно, находится в ссылке на класс UINavigationBar.

Когда вы используете панель навигации в качестве отдельного объекта, вы несете ответственность за предоставление ее содержимого. В отличие от других типов представлений , вы не добавляете подпредставления непосредственно на панель навигации.Вместо этого вы используете элемент навигации (экземпляр класса UINavigationItem), чтобы указать, какие кнопки или пользовательские представления вы хотите отобразить.У элемента навигации есть свойства для указания представлений слева, справа и в центре панели навигации, а также для указания настраиваемой строки приглашения.

Вкратце, используйте UINavigationItem и применяйте его с помощью "pushNavigationItem"на UINavigationBar.

Я создал подкласс UINavigationBar под названием StaticNavigationBar, который я могу затем загрузить с любым состоянием, поместив в него соответствующий UINavigationItem.Спасибо за все ваши ответы люди.

0 голосов
/ 08 февраля 2012

Если вы не хотите, чтобы навигационная панель была как есть, вам придется свернуть свою собственную.если у вас все в порядке со встроенной анимацией для перемещения и выталкивания элементов (не путайте с push / pop для viewcontrollers) на панели, вы должны установить UINavigationBarDelegate и использовать его методы для контроля за тем, как что-то толкает / выталкивает и т. д.

0 голосов
/ 08 февраля 2012

У вас может быть этот UINavigationBar как выход, а затем вы можете манипулировать им, как хотите.Так что вам не нужно ссылаться на чей-то элемент навигации.По вашему мнению, это будет независимый (своего рода) объект.

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