У меня есть UINavigationItem
, я пытаюсь показать UIBarButtonItem
.
Теперь проблема в том, что я добавил их правильно, они работают и работают на 100%.
но они не отображаются на UINavigationBar
.
Теперь для потока я делаю следующее.
1- Я прячу кнопку «назад», вот так
self.navigationItem.setHidesBackButton(isBackHidden, animated: false)
2 - Я добавляю эти 2 кнопки, используя функцию динамически во время выполнения, когда пользователь нажимает на UIButton
.
let rightBarItem = UIBarButtonItem(title: "Button.Done".localized, style: .plain, target: self, action: #selector(self.saveButtonTapped))
navigationItem.rightBarButtonItem = rightBarItem
let leftBarItem = UIBarButtonItem(title: "Button.Cancel".localized, style: .plain, target: self, action: #selector(self.cancelButtonTapped))
navigationItem.rightBarButtonItem?.tintColor = .red // still nothing
navigationItem.leftBarButtonItem = leftBarItem
3 - Я пытался использовать эти функции и все тот же результат
self.navigationItem.setLeftBarButton(UIBarButtonItem?, animated: Bool)
self.navigationItem.setRightBarButton(UIBarButtonItem?, animated: Bool)
Резюме :
Я пытался изменить tintColor
, так как они функционально работают, я думал, что это проблема цвета.
Я пытался использовать их внутри DispatchQueue.main.async {}
, думая, что это может быть проблема с потоками, поскольку она динамическая.
Я отлаживал и проверял элементы в UINavigationItem
, и они существуют.
Что происходит в основном:
Кнопки не отображаются, но они работают очень хорошо, если нажать на их места на UINavigationItem
.