Ios Swift PageViewController渐变背景
我有一个PageViewController,需要设置渐变背景。 在普通ViewController中使用渐变背景时,我使用以下选项: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
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扩展的任何内容
希望能有帮助