Mod*_*ens 21 iphone resize calayer autoresize ipad
我正在尝试创建一个UIView子类("GradientView"),它将用各种颜色的渐变填充自己.我通过添加CAGradientLayer作为UIView层的子层来实现它.
它看起来不错,但是当屏幕旋转时,它没有调整渐变层的大小.有没有运气的层上找到一个布尔属性来进行切换,我推翻在GradientView layoutSubviews.
-(void)layoutSubviews {
self.gradientLayer.frame = self.bounds;
}
Run Code Online (Sandbox Code Playgroud)
这很有效,但在设备旋转动画期间,GradientView背后的东西仍然可见.什么是"自动调整大小",这样的动画是光滑的(像UIView的自动尺寸),其CAGradientLayer匹配其父层的边界的最简单的方法?
l8n*_*ite 29
您可以在自定义UIView上定义+ layerClass方法...
@implementation MyGradientView
+(Class) layerClass {
return [CAGradientLayer class];
}
@end
Run Code Online (Sandbox Code Playgroud)
您可以在控制器的viewDidLoad()(或任何地方)中初始化图层,类似于......
-(void)viewDidLoad {
[super viewDidLoad];
[(CAGradientLayer*)[mMyGradientViewInstance layer] setColors:nil];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14954 次 |
最近记录: |