我试图创建一个UIView子类("GradientView"),它将用各种颜色的渐变填充自己。我通过在UIView的层中添加CAGradientLayer作为子层来实现它。
看起来很好,但当屏幕旋转时,它没有重新调整渐变层的大小。找不到可以切换层上的BOOL属性,因此我在GradientView中重写了layoutSubviews。
-(void)layoutSubviews {
self.gradientLayer.frame = self.bounds;
}
这个方法可行,但在设备旋转动画期间,GradientView 后面的东西仍然可见。最简单的方法是什么,可以将 CAGradientLayer “自动调整大小”以匹配其父层的边界,以使动画平滑(类似于 UIView 的自动调整大小)?