我想在所有視圖中放入漸變背景。用UIView繪製漸變畫()用swift
我認爲這樣做的方式不需要在所有視圖控制器中創建視圖的IBOutlet,就是從UIView創建一個新類,然後在draw()中放入使CAGradientLayer成爲代碼的代碼風景。
因此,在界面生成器中,我只需要選擇背景視圖並將其類設置爲我的自定義類。它到目前爲止工作。
我的問題是如果我可以做到這一點沒有問題。有人知道可以嗎? 因爲從UIView繼承的模型文件附帶註釋: //如果執行自定義繪圖,則只能覆蓋draw()。
而且我不知道是否創建圖層數量。或者,如果draw()僅適用於低級繪圖或類似的東西。對draw()函數的最佳用法一無所知。
這是代碼:
override func draw(_ rect: CGRect) {
let layer = CAGradientLayer()
layer.frame = CGRect(x: 0, y: 0, width: self.frame.width, height: self.frame.height)
let color1 = UIColor(red: 4/255, green: 39/255, blue: 105/255, alpha: 1)
let color2 = UIColor(red: 1/255, green: 91/255, blue: 168/255, alpha: 1)
layer.colors = [color1.cgColor, color2.cgColor]
self.layer.addSublayer(layer)
}
您需要爲您的梯度層的位置屬性,您可以瞭解更多。 –