我有下面的代码来显示一个 cagradientlayer ,它应该覆盖整个视图。但是,它在模拟器中显示不正确。我打印了 self.view.bounds.width 和 self.view.bounds.height which打印了正确的值。下面是模拟器屏幕截图。
cagradientlayer ,它应该覆盖整个视图。但是,它在模拟器中显示不正确。我打印了 self.view.bounds.width 和 self.view.bounds.height which打印了正确的值。下面是模拟器屏幕截图。
,它应该覆盖整个视图。但是,它在模拟器中显示不正确。我打印了 self.view.bounds.width 和 self.view.bounds.height which打印了正确的值。下面是模拟器屏幕截图。
self.view.bounds.width 和 self.view.bounds.height which打印了正确的值。下面是模拟器屏幕截图。
和 self.view.bounds.height which打印了正确的值。下面是模拟器屏幕截图。
self.view.bounds.height which打印了正确的值。下面是模拟器屏幕截图。
which打印了正确的值。下面是模拟器屏幕截图。
向日历视图添加背景层 让渐变层=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(渐变层,位于:0) < /代码>
. self.view.bounds.width 和 self.view.bounds.height 打印正确的值。下面是模拟器屏幕截图。
. 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)
你需要设置 frame 不 bounds
frame
bounds
gradientLayer.frame = self.view.frame // here frame = bounds