首页 > 解决方案 > 全局设置对 UIButton 的引用

问题描述

所以我有一个 UIButton 添加到窗口中,因此它可以在任何呈现的控制器上可见,并且它具有我在其间设置动画的各种状态。

let window = UIApplication.shared.keyWindow!
window.addSubview(customButton)

这很好用,但是,我想在应用程序中为特定视图显示/隐藏它,我正在努力寻找解决这个问题的最佳方法。将其添加为全球参考会非常不受欢迎吗?

let customButton: CustomButton = CustomButton()

class NavigationClass: UINavigationController {
.....
}

这似乎是最简单的方法,因为我可以从任何班级访问它......

class ControllerClass: UIViewController {
  override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        
        customButton.isHidden = true
        customButton.resetState()
    }
}

有什么理由我不应该这样做,或者有更好的方法来处理它吗?

标签: iosswiftuibutton

解决方案


如果您需要并实现所有子控制器的行为,您可以使用静态按钮创建 ParentViewController。


推荐阅读