Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift PageViewController渐变背景_Ios_Swift_Gradient_Uipageviewcontroller_Layer - Fatal编程技术网

Ios Swift PageViewController渐变背景

Ios Swift PageViewController渐变背景,ios,swift,gradient,uipageviewcontroller,layer,Ios,Swift,Gradient,Uipageviewcontroller,Layer,我有一个PageViewController,需要设置渐变背景。 在普通ViewController中使用渐变背景时,我使用以下选项: let layer = self.layer as! CAGradientLayer layer.colors = [FirstColor.cgColor, SecondColor.cgColor] layer.locations = [0.5] 当我尝试在PageViewController内使用self.view.layer时,出现错误: 无法将“CALa

我有一个PageViewController,需要设置渐变背景。 在普通ViewController中使用渐变背景时,我使用以下选项:

let layer = self.layer as! CAGradientLayer
layer.colors = [FirstColor.cgColor, SecondColor.cgColor]
layer.locations = [0.5]
当我尝试在PageViewController内使用self.view.layer时,出现错误:

无法将“CALayer”(0x104f57900)类型的值强制转换为“CAGradientLayer”

有人能帮我将页面视图控制器的背景设置为渐变吗


谢谢

您好,您可以创建UIView扩展名,然后按如下方式调用:

view.applyGradient(colours: [UIColor.red, UIColor.green])
这是分机码

extension UIView {
    func applyGradient(colours: [UIColor]) -> Void {
        clipsToBounds = true
        let gradient: CAGradientLayer = CAGradientLayer()
        gradient.frame = self.bounds
        gradient.colors = colours.map { $0.cgColor }
        gradient.startPoint = CGPoint(x: 0, y: 0)
        gradient.endPoint = CGPoint(x: 1, y: 0)
        layer.insertSublayer(gradient, at: 0)
    }
}
有了这段代码,您可以应用于UIButton、UILabels以及从UIView扩展的任何内容

希望能有帮助