我创建了一个"TransformView“子类UIView,以支持我在翻盖动画中使用的双面视图。这已在其他职位上提出过,如:
How to rotate a flat object around its center in perspective view?
@interface TransformView : UIView
@end
@implementation TransformView
+ (Class)layerClass {
return [CATransformLayer class];
}
@end所有这些都很好,但是每次创建TransformView对象时都会收到警告:
TransformView *newTransformView=[[TransformView alloc] initWithFrame:frame];警告说:
我猜UIView类正在初始化不透明属性,这通常适用于CALayer,而不是CATransformLayer。
子类代码很不可靠吗?如果是这样的话,你还能为翻转动画创建一个双面视图吗?
有什么办法阻止警告吗?
我怀疑从nib文件而不是从initWithFrame创建一个initWithFrame可以避免警告,但是为了避免警告而不得不这样做似乎是有排他性的。
发布于 2013-02-19 10:00:14
您可以通过在代码中添加此扩展名来避免警告:
@implementation CATransformLayer (MyExtension)
-(void)setOpaque:(BOOL)opaque
{
return;
}
@end当然,这也将停止对您自己设置CATransformLayer的不透明属性的错误尝试的警告。
https://stackoverflow.com/questions/12341463
复制相似问题