CAGradientLayer 框架未正确显示
Posted
技术标签:
【中文标题】CAGradientLayer 框架未正确显示【英文标题】:CAGradientLayer frame not displaying properly 【发布时间】:2018-08-06 13:52:32 【问题描述】:我有以下代码来呈现CAGradientLayer
,它应该涵盖整个视图。但是,它在模拟器中显示不正确。我打印了self.view.bounds.width
和self.view.bounds.height
的值,它们打印了正确的值。下面也是模拟器截图。
// Add background layer to calendar view
let gradientLayer = CAGradientLayer()
gradientLayer.bounds = CGRect(x: 0, y: 0, width: self.view.bounds.width, height: self.view.bounds.height)
gradientLayer.colors = [lightDarkColor.cgColor, darkColor.cgColor, lightDarkColor.cgColor]
gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.0)
gradientLayer.endPoint = CGPoint(x: 1.0, y: 1.0)
self.view.layer.insertSublayer(gradientLayer, at: 0)
【问题讨论】:
如果注释掉 startPoint 和 endPoint 行会发生什么? @Nick 没有变化,我之前测试过:( @AnnabelleSykes 您尝试在哪里添加渐变层?是指用什么方法? 【参考方案1】:您需要设置frame
而不是bounds
gradientLayer.frame = self.view.frame // here frame = bounds
【讨论】:
以上是关于CAGradientLayer 框架未正确显示的主要内容,如果未能解决你的问题,请参考以下文章
CAGradientLayer 使用 UIScrollView 滚动