Использование UIB-кнопки на панели навигации с помощью StoryBoard - PullRequest
1 голос
/ 31 марта 2020

По сути, у меня есть созданная в StoryBoards UIButton, которую я хотел бы перетащить в панель навигации. У этой кнопки UIB есть действие, связанное с ним при касании, но все события касания перестают работать, когда я перетаскиваю эту кнопку UIB на панель навигации.

Требуется ли дополнительный код для элемента IBAction при этом?

Одна из основных причин, по которой я хочу добавить UIButton вместо BarButtonItem на панель навигации, заключается в том, что он позволяет мне добавить цвет фона и изогнуть края кнопки.

1 Ответ

0 голосов
/ 31 марта 2020

Я не думаю, что вы можете сделать это в раскадровке. Вы должны сделать это в коде, используя инициализатор init(customView:).

let myCustomButtonWithBackgroundsAndStuff = UIButton(type: .custom)
...

// this is the equivalent of connecting the IBAction, in code form, in case you didn't know
myCustomButtonWithBackgroundsAndStuff.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
let barButtonItem = UIBarButtonItem(customView: myCustomButton)
navigationItem.rightBarButtonItem = barButtonItem
// or append to rightBarButtonItems if you have other bar button items

...
@objc func buttonAction() {
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...