2016-01-03 3 views
0

Привет У меня есть правая кнопка панели навигации, которую я создал в раскадровке. Теперь я хотел бы добавить вторую правую кнопку, как в приложении для календарей Apple. Чистый код версии будет:Можно комбинировать навигационную панель справа в раскадровке с кодировкой?

navigationItem.rightBarButtonItems = [rightA, rightB] 

Однако, я уже создал одну кнопку в раскадровке с различными розетками и перетекает и в идеале хотелось бы, чтобы сохранить его, добавляя второй. Я понимаю, что теперь вы можете создавать обе кнопки в раскадровке в Xcode7, но я все еще в Xcode 6, поэтому я думаю о каком-то гибридном решении для раскадровки.

Возможно ли это в Xcode 6?

ответ

3

Просто создать массив с существующим элементом и новый пункт:

navigationItem.rightBarButtonItems = [navigationItem.rightBarButtonItem!, rightB] 

(или наоборот, как вы предпочитаете).

+0

ли это сохранить элемент раскадровки? И каково значение восклицательного знака! – user1904273

+0

@ user1904273 Да, он сохраняет существующий элемент кнопки панели из раскадровки. ! потому что это опция Swift. Технически я должен проверить, является ли это ноль, но для демонстрационных целей я использовал! развернуть. Если вы используете Objective-C, код почти идентичен: удалите!, Но используйте '@ [...]' вместо '[...]' для создания массива. – pbasdf

+0

Как вы получаете имя кнопки бара, созданного в раскадровке? Он не распознает navigationItem.rightBarButtonItem. Спасибо! – user1904273

0

Предположим, у вас есть navigationController, в котором вы хотели бы иметь несколько кнопок. С iOS 5 вы можете назначить массив. Проблема в том, что вы теряете все преимущества использования раскадровки, поскольку это будет сделано программно.

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

В текущем виде (не в навигационном контроллере) , где вы хотите разместить кнопки, показать панель инструментов, изменяя

bottomBar = вывод на bottomBar = панели инструментов.

введите описание изображения здесь

панель инструментов будет отображаться в нижней части. Добавьте UIBarButtons к этой панели. Свяжите их с другими контроллерами вида с помощью segues и т. Д. в вашем .h файле создайте розетку для каждой кнопки

@property (сильный, неатомный) IBOutlet UIBarButtonItem * Button1;

@property (сильный, неатомный) IBOutlet UIBarButtonItem * Button2;

@property (сильный, неатомный) IBOutlet UIBarButtonItem * Button3;

self.navigationItem.rightBarButtonItems = [NSArray массивWithObjects: сам.Button3, сам.Button2, сам.Button1, nil];

self.navigationController.toolbarHidden = YES;

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