更改所有UIViewControllers背景

时间:2018-11-13 00:13:07

标签: ios swift

我想更改项目的所有UIViewController,所以我要这样做:

let bg = BackgroundImage().backgroundImage
bg.alpha = 0.2
bg.frame = self.view.frame

let wBg = UIView()
wBg.frame = self.view.frame
wBg.backgroundColor = UIColor(white: 1, alpha: 0.5)

self.view.addSubview(wBg)
self.view.sendSubview(toBack: wBg)

self.view.addSubview(bg)
self.view.sendSubview(toBack: bg)

BackgroundImage().backgroundImage返回一个UIImageView。

但是如何在所有UIViewController上实现此功能而不必在所有VC中复制/粘贴相同的内容。

2 个答案:

答案 0 :(得分:1)

一种解决方案是在id扩展名中创建一个函数。此功能应根据需要设置视图控制器的背景。

然后在每个视图控制器的android:baselineAligned="false" 函数中,您可以调用该扩展函数。

答案 1 :(得分:1)

1。创建BaseViewController.swift

class BaseViewController: UIViewController {
    override func viewDidLoad() {
        setBackgroundImage()
    }

    setBackgroundImage() {

    }
}

2。其他ViewController将继承BaseViewController

class TimelinesViewController: BaseViewController {

}