【问题标题】:Swift UIBarButtonItem stays highlited when going back to the root controller回到根控制器时,Swift UIBarButtonItem 保持高亮状态
【发布时间】:2022-12-13 20:45:51
【问题描述】:

我的导航栏项目有问题。他们都有一个推动视图控制器的目标,但问题是当我通过向右拖动返回根视图控制器时,UIBarButtonItem 有时会在根控制器出现后保持突出显示。我附上两张导航栏的照片:

这种行为是不可预测的,因为它只是偶尔发生。有谁知道发生了什么以及如何解决它?

谢谢!

【问题讨论】:

    标签: swift uinavigationcontroller uibarbuttonitem navigationbar uinavigationitem


    【解决方案1】:

    不幸的是,这很可能是一个错误。当您在第二页上离开滑动过程而没有完成时会发生这种情况

    如您所知,当您滑动页面时,barbuttons 上会发生动画。就好像按钮的 alpha 从 0 递增到 1

    这个动画效果可能会在你离开页面滑动到一半的时候导致一个bug,因为按钮的动作没有问题。

    如果在第一个 Viewcontroller 中更改按钮的 isEnabled 值,当页面关闭和打开时,问题将得到解决。

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        navItem.rightBarButtonItem?.isEnabled = false
    }
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        navItem.rightBarButtonItem?.isEnabled = true
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-22
      • 1970-01-01
      • 2011-01-16
      • 2016-01-25
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多