Я пытаюсь сделать заголовок панели навигации своей собственной кнопкой.Пользователи в моем приложении могут иметь несколько профилей, а в заголовке навигационной панели отображается имя пользователя выбранного в данный момент профиля.Нажатие на эту кнопку должно вызвать список доступных профилей для выбора (handleShowProfiles).По какой-то причине заголовок отображается, но не функционирует как кнопка, это просто статический текст, и прикосновение к нему ничего не дает.
let changeProfileContainer : UIView = {
let container = UIView()
container.frame = CGRect(x: 0, y: 0, width: 200, height: 40)
let button = UIButton(type: .custom)
button.setTitle("@username ▼", for: .normal)
button.setTitleColor(.black, for: .normal)
button.frame = container.frame
button.addTarget(self, action: #selector(handleShowProfiles), for: .touchUpInside)
container.addSubview(button)
return container
}()
func configureNavBar() {
self.navigationController?.navigationBar.tintColor = .black
self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: #imageLiteral(resourceName: "send"), style: .plain, target: self, action: #selector(handleSubmitPost))
self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: #imageLiteral(resourceName: "drafts"), style: .plain, target: self, action: #selector(handleDrafts))
self.navigationItem.titleView = changeProfileContainer
}
Есть идеи, почему часть кнопки не будет работать?В документации Apple говорится, что вы должны поместить кнопку в представление, настроить тип кнопки и изменить рамку кнопки по умолчанию (0, 0, 0, 0).Я почти уверен, что здесь я все испортил, но не знаю.