Ответ 1
Есть способ добавить представление к navigationItem. Затем добавьте кнопки или метки, необходимые для просмотра.
Интересно, можно ли это сделать, используя Раскадровка IB:
self.navigationItem.leftBarButtonItems = @[barButton1, barButton2]
Редакция:
Цель состоит в том, чтобы сохранить преимущества использования раскадровки и, если возможно, без использования каких-либо строк кода.
РЕДАКТИРОВАТЬ № 2:
Основываясь на этом ответе, я экспериментировал и видел, что можно связать свойство Title View элемента навигации с панелью инструментов
но он выглядит как хак (и я также хочу сохранить Title):
Любая лучшая идея?
Есть способ добавить представление к navigationItem. Затем добавьте кнопки или метки, необходимые для просмотра.
Можно использовать код ниже:
UIBarButtonItem *btnShare = [[UIBarButtonItem alloc] initWithCustomView:self.backbtn];
UIBarButtonItem *btnRefresh = [[UIBarButtonItem alloc] initWithCustomView:self.testbutton2];
[self.navigationItem setLeftBarButtonItems:[NSArray arrayWithObjects:btnShare,btnRefresh, nil]];
Вы можете создать UIToolbar
, содержащий все ваши кнопки:
UIToolbar *toolbar = [[UIToolbar alloc] init];
// ... set toolbars' frame, initialize buttons, etc;
[toolbar setItems:@[barButton1, barButton2] animated:NO];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbar];
Или вы могли бы использовать setLeftBarButtonItems:animated:
и setRightBarButtonItems:animated:
Надеюсь, что это поможет, удачи!
Вы можете создавать свои кнопки в раскадровке, редактировать/стилизовать их по своему усмотрению, затем создавать свои выходы и добавлять их в качестве объектов верхнего уровня, а затем добавлять их во время выполнения в viewDidLoad с помощью [navigationItem setLeftBarButtonItems:] и [navigationItem setRightBarButtonItems:.. Надеюсь, что это поможет:)
Я предлагаю вам добавить несколько кнопок на панели инструментов. Добавление нескольких кнопок на панели навигации не является хорошей идеей. если вы хотите добавить несколько кнопок на панели инструментов с помощью раскадровки. эта видеосвязь может помочь вам создать прокручиваемую панель инструментов с несколькими кнопками https://www.youtube.com/watch?v=4nYM8EfTpRw
Если вы хотите добавить их из кода, в Swift, вы можете сделать:
override func viewDidLoad() {
// ....
let ubRefresh = UIBarButtonItem.init(barButtonSystemItem: .Refresh, target: self, action: "refreshManually")
let ubMyIcon = UIBarButtonItem(image: UIImage(named: "MyIcon"), style: .Plain, target: self, action: "myAction")
self.navigationItem.setRightBarButtonItems([ubMyIcon, ubRefresh], animated: true)
}