С Быстрым 4
let editImage = UIImage(named: "toolbar_edit")!
let favoriteImage = UIImage(named: "toolbar_fav_solid")!
let editButton = UIBarButtonItem(image: editImage, style: .plain, target: self, action: #selector(didTapEditButton))
let favoriteButton = UIBarButtonItem(image: favoriteImage, style: .plain, target: self, action: #selector(didTapFavoriteButton))
navigationItem.rightBarButtonItems = [editButton, favoriteButton]
действие Щелчка для тех кнопок
@objc func didTapEditButton(sender: AnyObject) {
print("edit")
}
@objc func didTapFavoriteButton(sender: AnyObject) {
print("favorite")
}
Выходной снимок экрана (iPhone X)
Я не знаю, не было ли Интерфейсное решение Разработчика возможно прежде, но по крайней мере с новым обновлением (Xcode 11.0), возможно перетащить два UI Bar Buttons
в пространство rightBarButton. Две торговых точки и действия могут затем быть перетащены в код как всегда.
, Так как OP не попросил решение без IB, я думаю, что это также квалифицирует как ответ.
Принятый ответ, а также немногие из ответа абсолютно корректен, но в моем случае ни один из них не работает.
Причина : Мой Контроллер Представления был Наследован от UIViewController, и я должен был установить Добавить в корзину Кнопку и Кнопку поиска На Правой стороне. И Все мои контроллеры представления были частью UITabbarController.
let editImage = UIImage(named: "OrdersTabIcon")
let searchImage = UIImage(named: "OrdersTabIcon")
let editButton = UIBarButtonItem(image: editImage, style: .plain, target: self, action: #selector(iconTapped))
let searchButton = UIBarButtonItem(image: searchImage, style: .plain, target: self, action: #selector(iconTapped))
Вместо того, чтобы использовать
self.navigationItem.setRightBarButtonItems([editButton, searchButton], animated: true)
Использование Это.
self.navigationController?.navigationBar.topItem?.setRightBarButtonItems([editButton, searchButton], animated: true)
Для iOS Xamarin с новыми обновлениями. это похоже.
UIBarButtonItem Button1 = new UIBarButtonItem(UIImage.FromBundle("Image1"),
UIBarButtonItemStyle.Plain,YourEventHandler);
UIBarButtonItem Button2 = new UIBarButtonItem(UIImage.FromBundle("Image1"),
UIBarButtonItemStyle.Plain,YourEventHandler);
NavigationItem.SetRightBarButtonItems(new[]{ Button1, Button2 }, true);
Используйте navigationItem's rightBarButtonItems
, который берет массив UIBarButton
. Appledoc
let share = UIBarButtonItem(barButtonSystemItem: .action, target: self, action: #selector(shareTapped))
let add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addTapped))
navigationItem.rightBarButtonItems = [add, share]