Ios 在ViewController出现之前加载数据/图形/背景的方法
我在ViewController中的视图上有一个动画背景,称之为:Ios 在ViewController出现之前加载数据/图形/背景的方法,ios,swift,xcode,calayer,uibezierpath,Ios,Swift,Xcode,Calayer,Uibezierpath,我在ViewController中的视图上有一个动画背景,称之为: override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) gradientSet.append([gradientOne, gradientTwo]) gradientSet.append([gradientTwo, gradientThree]) gradientSet.append([gradi
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
gradientSet.append([gradientOne, gradientTwo])
gradientSet.append([gradientTwo, gradientThree])
gradientSet.append([gradientThree, gradientOne])
gradient.frame = self.view.bounds
gradient.colors = gradientSet[currentGradient]
gradient.startPoint = CGPoint(x:0, y:0)
gradient.endPoint = CGPoint(x:1, y:1)
gradient.drawsAsynchronously = true
viewBackground.layer.addSublayer(gradient)
animateGradient()
}
这取决于加载时间,但当我通过点击按钮加载ViewController时,我看到了如何出现“白色闪烁”。我从未在专业应用程序上见过这种行为,所以我认为我做了一些根本错误的事情
如何在ViewController在加载时间之间无缝切换而不出现白色闪烁之前加载颜色、数据和背景内容?在
视图中添加代码将显示而不是视图显示
override func viewWillAppear(_ animated: Bool) {
super. viewWillAppear(animated)
gradientSet.append([gradientOne, gradientTwo])
gradientSet.append([gradientTwo, gradientThree])
gradientSet.append([gradientThree, gradientOne])
gradient.frame = self.view.bounds
gradient.colors = gradientSet[currentGradient]
gradient.startPoint = CGPoint(x:0, y:0)
gradient.endPoint = CGPoint(x:1, y:1)
gradient.drawsAsynchronously = true
viewBackground.layer.addSublayer(gradient)
animateGradient()
}
尝试将代码移动到视图将出现