当前位置: 首页 > 面试题库 >

回退后,iOS UINavigationBar按钮仍然褪色

楚煜
2023-03-14
问题内容

在我的html" target="_blank">应用程序中,我有多个视图控制器,并且大多数都在右侧UIBarButtonItem附加了直接的“显示” segue操作。

锁定到另一个视图然后按下'< Back'按钮后,原始按钮项仍然淡出,尽管仍然可以使用。

这似乎仅在iOS 11.2下发生。

我看不到有任何设置可以做到这一点,并且至少在发生这种情况的一种情况下,没有特定的序列展开或viewDidAppear处理。我会发布一些代码,但AFAICS只是默认UINavigationBar行为。


问题答案:

这是iOS 11.2中的一个错误,发生的原因是UIBarButtonItem导航后保持高亮显示,而另一个视图控制器弹出后未恢复到正常状态。

为了避免这种行为,要么

  1. 使用UIBarButtonItem具有UIButton作为一个自定义视图

  2. 禁用并重新启用其中的条形按钮项viewWillDisappear(_:)

    barButtonItem.isEnabled =否
    

    barButtonItem.isEnabled = true



 类似资料:
  • 我正在使用android 2.1,希望在Mapsavity上添加一个后退按钮。我在这一页上尝试了什么[在操作栏上显示后退按钮,但应用程序崩溃。我已经按照另一个论坛的建议将extends FragmentActivity替换为AppCompatActivity,但应用程序仍然崩溃。我知道这与操作栏有关,因为如果我删除它,应用程序就会工作。操作栏似乎为空。我被卡住了,已经启动了应用程序数次。下面是错误

  • 我正在使用android导航组件库。我用导航图设置了两个片段。我想在我的片段内按下后退按钮时做一些额外的动作。 我使用这段代码来处理工具栏上的按钮点击,但我也想处理后退按钮按下。我该怎么做?

  • 我对libGDX有一个问题,当我用后退按钮退出后恢复应用程序时,只有一个白色屏幕。 实际应用运行,接受触摸输入,播放声音,但屏幕只是白色。 我读过保持对纹理的静态引用可能会导致这个问题,但我没有这样做。 下面是我的资产代码如何工作的简化版本。 在按下后退按钮后返回应用程序时,重新创建AssetManager,重新打开SplashScreen(为白色),并更新AssetManager直到重新加载所有

  • 我正在使用Actionbar和它的“up”按钮从一个细节活动返回到主活动,这很好。类似地,用户可以按系统“后退”按钮返回到主活动。 在我的主要活动中,在中,从internet下载数据,以便在应用程序启动时显示。我注意到,当我使用Actionbar“up”按钮从细节转到主要活动时,运行,重新下载数据。但是当我使用系统“后退”按钮时,没有运行,因此立即显示主活动视图。 我在详细信息活动中用于实现“向上