如何向所有UIViewControllers添加一个通用的浮动操作按钮

时间:2018-12-06 05:59:17

标签: ios swift uibutton viewcontroller floating-action-button

我想在所有View控制器中添加相同的浮动操作按钮。我有一个聊天选项(单击此按钮后会打开),应该可以从应用程序的所有页面访问该选项。相同。不是在所有View控制器中冗余添加。

代码示例将非常有帮助。

谢谢

2 个答案:

答案 0 :(得分:1)

让我们添加一个从UIViewController派生的“ SuperviewController”,然后从SuperViewController扩展所有其他视图控制器,并在SuperViewController中以编程方式添加UIButton,以便您可以在整个应用程序中访问按钮。

答案 1 :(得分:0)

您可以在窗口上单击按钮

var Floatbtn = UIButton(type: .custom)

func setFloatingButton(){
    Floatbtn.frame = CGRect(x: 250, y: 450, width: 50, height: 50)
    Floatbtn.setTitle("All Defects", for: .normal)
    Floatbtn.backgroundColor = UIColor(red: 40.0/255.0, green: 167.0/255.0, blue: 128.0/255.0, alpha: 1.0)
    Floatbtn.clipsToBounds = true
    Floatbtn.layer.cornerRadius = 25
    Floatbtn.addTarget(self,action: #selector(OnClockButtonEvent), for: UIControlEvent.touchUpInside)
    if let window = UIApplication.shared.keyWindow {
        window.addSubview(Floatbtn)
    }
}

当viewcontroller消失时,删除FloatBtn

func viewWillDisappear(_ animated: Bool) {
Floatbtn.removeFromSuperview() }