我创建了一个“TransformView
”子类 UIView
以支持我在翻转动画中使用的双面 View 。这已在其他帖子中提出,例如:
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];
警告说:
- changing property opaque in transform-only layer, will have no effect
我猜 UIView
类正在初始化不透明属性,这通常适用于 CALayer
但不适用于 CATransformLayer
。
子类化代码很狡猾吗?如果是这样,您还可以如何为翻转动画创建二维 View ?
关于如何停止警告的任何想法?
我怀疑从 nib 文件而不是 initWithFrame
创建 TransformView
可以避免警告,但为了避免警告而不得不这样做似乎很笨拙.
最佳答案
您可以通过在代码中的某处添加此扩展来避免警告:
@implementation CATransformLayer (MyExtension)
-(void)setOpaque:(BOOL)opaque
{
return;
}
@end
当然,这也会停止警告您自己错误地尝试设置 CATransformLayer 的不透明属性。
关于ios - 使用 CATransformLayer 警告 : changing property opaque in transform-only layer, 将无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12341463/