ios - 使用 CATransformLayer 警告 : changing property opaque in transform-only layer, 将无效

标签 ios animation uiview subclass catransformlayer

我创建了一个“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/

相关文章:

iphone - 如何将触摸从另一个 UIView 转发到 UIButton?

javascript - Select2.js 和 jQuery slideDown 动画滞后/抖动

java - 开始下一个 moveTo 操作时出现小滞后

iphone - Sleep 和 NSRunLoop runMode :beforeDate: 的区别

ios - swift - libc++abi.dylib : terminating with uncaught exception of type NSException (lldb)

html - CSS On hover 缓和/淡入三 Angular 形

ios - 添加到容器后不调用按钮

iphone - iPhone 应用程序的 AirPrint

ios - 区分accessoryView和Row on touch

javascript - 将应用程序浏览器中的 instagram 转义到 safari