2012-02-17 2 views
1

Я вытаскиваю панель инструментов в раскадровке и устанавливаю ее на свой контроллер nav, но когда я запускаю свой код, его там нет, есть ли что-то, что я пропускаю?iOS - Установить UIToolBarItem на UINavigationController

EDIT:

Пробовал установить его в коде, а в моем методе viewDidLoad:

UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Map" style:UIBarButtonItemStyleBordered target:self action:@selector(viewMap)]; 
self.navigationItem.rightBarButtonItem = rightBarButton; 

не будет работать.

Вот как это установлено в моей раскадровке:

enter image description here

UPDATE:

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

ответ

4

UINavigationController уже есть панель инструментов, построенные в. Он имеет свойство toolBarHidden, который устанавливается в YES по умолчанию, поэтому он обычно не виден. Если вы используете раскадровку, вы можете легко сделать встроенную нижнюю панель инструментов видимой, установив флажок «Показывать панель инструментов» в инспекторе при выборе навигационного контроллера.

Для получения более подробной информации см. UINavigationController documentation here.

EDIT:

Хорошо, это звучит как то, что вы пытаетесь сделать, это добавить правую кнопку на ваш контроллер вида UINavigationItem. Чтобы сделать это в раскадровке, перетащите элемент «Элемент панели» из библиотеки объектов в элемент навигации в вашем ViewController. Затем вы можете установить заголовок/стиль/etc элемента панели. Если при запуске приложения ничего не появляется, убедитесь, что ваш ViewController правильно подключен к контроллеру навигации.

Также убедитесь, что вы добавляете элемент панели бара к навигационному элементу контроллера вида, а не к самому контроллеру представления. Вот как схема должна выглядеть в раскадровку:

enter image description here

+0

Хорошо, может быть, это не панель инструментов, которую я хочу установить, но кнопка правого бара навигационного контроллера имеет – 8vius

+0

И я не затащил панель инструментов btw, просто элемент панели инструментов, чтобы установить ее на панели навигации. – 8vius

+0

Я перетащил его в свой контроллер и установил его на навигационной панели, он не появится и попробовал установить его в моем методе viewDidLoad, не работал ни – 8vius

1

Чтобы добавить элемент в панели навигации, вам нужно добавить Bar Button Item к навигации Пункт содержащегося в контроллере представления. Перейдите в свою раскадровку, найдите нужный VC и найдите элемент навигации (он находится в иерархии, показанной в сцене «Контроллер навигации»). Просто перетащите элемент панели бара в эту иерархию под элементом навигации или прямо на навигационную панель на дисплее визуального построителя.

Контроллер навигации только смотрит на навигационный элемент вашего VC, когда этот VC помещается в стек; поэтому изменение навигационного элемента VC в viewDidLoad не влияет.

(Я сделал это программно раньше, но у меня нет кода со мной, поэтому, возможно, я добавлю, что позже ...)

+0

Если вы посмотрите на изображение в моем вопросе, вы увидите, что это то, что я сделал, и это не сработает – 8vius

+0

Как вы получили навигационную панель, чтобы отобразиться в рассматриваемом VC? Вы встроили представление в контроллер навигации (чтобы ваша раскадровка показывала контроллер панели вкладок -> навигационный контроллер -> VC)? – AndrewS

+0

Да, просто вставляем в контроллер nav – 8vius

Смежные вопросы