在我的应用程序中,我有多个视图控制器,并且大多数都在右侧UIBarButtonItem附加了直接的“显示” segue操作。
UIBarButtonItem
锁定到另一个视图然后按下'< Back'按钮后,原始按钮项仍然淡出,尽管仍然可以使用。
'< Back'
这似乎仅在iOS 11.2下发生。
我看不到有任何设置可以做到这一点,并且至少在发生这种情况的一种情况下,没有特定的序列展开或viewDidAppear处理。我会发布一些代码,但AFAICS只是默认UINavigationBar行为。
viewDidAppear
UINavigationBar
这是iOS 11.2中的一个错误,发生的原因是UIBarButtonItem导航后保持高亮显示,而另一个视图控制器弹出后未恢复到正常状态。
为了避免这种行为,要么
使用UIBarButtonItem具有UIButton作为一个自定义视图
UIButton
禁用并重新启用其中的条形按钮项viewWillDisappear(_:):
viewWillDisappear(_:)
barButtonItem.isEnabled =否
barButtonItem.isEnabled = true