我正在学习Swift和iOS App开发的基础知识。 我想在我的应用程序中创建一个渐变页面。 我在网上找到了这个代码:
let gradient = CAGradientLayer() // Line 1
gradient.frame = view.bounds // Line 2
gradient.colors = [UIColor.red.cgColor, UIColor.blue.cgColor] // Line 3
view.layer.addSublayer(gradient) // Line 4
上述代码的含义是什么?我正在使用Swift 4.
我理解了第3行。它决定了渐变中的颜色和顺序。请解释其余的代码。
答案 0 :(得分:2)
第一行创建一个CAGradientLayer
对象,它封装了渐变属性:
let gradient = CAGradientLayer() // Line 1
第二行(给矩形的渐变将显示在父视图中)将视图框分配给将保持它的渐变的框架:
gradient.frame = view.bounds // Line 2
框架是一个带有x,y,宽度,高度的矩形
最后一行
view.layer.addSublayer(gradient) // Line 4
在父视图的图层上方添加渐变图层,因此渐变的内容显示在视图上方,请注意,如果此行被注释,您将无法看到渐变时创建的渐变。 / p>
答案 1 :(得分:2)
这里有一些你可以玩的游乐场代码:
//: Playground - noun: a place where people can play
import UIKit
import XCTest
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
// this is the UIView we're going to use.
let view = UIView(frame: CGRect(x: 0, y: 0, width: 500, height: 500))
// this is making a CoreAnimation gradient layer
let gradient = CAGradientLayer() // Line 1
// this is setting the dimensions of the gradient to the
// same as the view that will contain it
gradient.frame = view.bounds // Line 2
// this is setting the gradient from and to colors
gradient.colors = [UIColor.red.cgColor, UIColor.blue.cgColor] // Line 3
// this is adding the gradient to the view hierarchy so you can see it
view.layer.addSublayer(gradient) // Line 4
PlaygroundPage.current.liveView = view
输出结果为: