Hi! I'm moving my UINavigationBar
and UINavigationItem
to the iOS 16 style and having trouble with disabling buttons.
Before:
I'm defining rightBarButtonItems
with a few barButtonItem
s plus a (custom) menuButtonItem
(which has a menu with some more actions).
After:
I'm defining trailingItemGroups
and let the system create an overflow menu dynamically, depending on space. I'm also defining some additionalOverflowItems
.
Here's the problem:
How can I access the button/barButtonItem that is showing the overflow menu and call isEnabled = false
? My UI, so far, has disabled all buttons during edit mode. I don't want to hide them, but have them grayed out, including the overflow menu button.
class MyVC : UIViewController { // ... override func setEditing(_ editing: Bool, animated: Bool) { super.setEditing(editing, animated: animated) // ... // This doesn't disable the overflow menu button navigationItem .trailingItemGroups .forEach { $0.barButtonItems .forEach { $0.isEnabled = !isEditing } } } }