Добавить несколько UIBarButtonItems в UINavigationItem в раскадровке?
![enter image description here]()
Легко добавить один элемент UIBarButton, как вы можете видеть здесь, в моей раскадровке. Но я хочу добавить несколько, и кажется, что я не могу использовать Раскадровку?
Это раздражает, потому что тогда я теряю весь красивый обзор Раскадровки и его Segue's.
Это так? Первый проект с использованием раскадровки, поэтому я решил, что могу что-то упустить.
Ответы
Ответ 1
В XCode 4.6 (по крайней мере) вы можете перетащить простой вид на панель навигации (на какой стороне вы хотите несколько кнопок), а затем перетяните панель инструментов поверх нее. Как только вы это сделаете, вы можете разместить на панели инструментов несколько элементов панели бара и подключить их к действиям /segues и т.д., Как обычно. Убедитесь, что у вас есть представление и панель инструментов, настроенные для цвета фона по умолчанию (прозрачный).
Ответ 2
В Xcode 7 вы можете просто перетащить несколько UIBarButtonItems в UINavigationItem непосредственно в Interface Builder.
См. видеоролик WWDC 2015 Session 407 под заголовком:
Внедрение дизайна пользовательского интерфейса в построителе интерфейсов
https://developer.apple.com/videos/wwdc/2015/?id=407
Ответ 3
Попробуйте это
-(void)viewDidLoad
{
[super viewDidLoad];
UIBarButtonItem *editBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editAction)];
UIBarButtonItem *saveBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(saveAction)];
self.navigationItem.rightBarButtonItems = [[NSArray alloc] initWithObjects:editBarButtonItem, saveBarButtonItem, nil];
}
Нам также необходимо реализовать методы editAction и saveAction.
-(void)editAction
{
NSLog(@"edit button clicked");
}
-(void)saveAction
{
NSLog(@"save button clicked");
}