2012-09-09 4 views
5

フリップアニメーションで使用している両面表示をサポートするために、UIViewのサブクラス「TransformView」を作成しました。これは、他の記事で示唆されている例:CATransformLayerの警告:変換のみのレイヤーで不透明なプロパティを変更すると、効果がありません

TransformView *newTransformView=[[TransformView alloc] initWithFrame:frame]; 

警告を: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オブジェクトを作成するたびに警告を取得

は言う:

- 変化する不透明な性質 変換専用レイヤー、w病気には何の影響

私はUIViewクラスがCALayerなくCATransformLayerため、通常は問題あり不透明なプロパティを初期化された推測を持っていません。

サブクラスコードはかなり厄介ですか?そうであれば、フリップアニメーションの両面表示をどのように作成できますか?

警告を停止する方法はありますか?

initWithFrameではなくnibファイルからTransformViewを作成すると警告が回避されますが、警告を避けるためにこれを行う必要があると思われます。

+0

[rdar:// 23069576](https://openradar.appspot.com/23069576)に記載されています。 –

答えて

3

あなたはあなたのコードのどこかでこの拡張機能を追加することで警告を回避できます。もちろん

@implementation CATransformLayer (MyExtension) 
-(void)setOpaque:(BOOL)opaque 
{ 
    return; 
} 
@end 

をこれもCATransformLayerの不透明なプロパティを設定する独自の誤解の試みのための警告を停止します。

関連する問題