0

私の目標はsubView、アニメーションでを表示することです。そのようなアニメーションを実行するための専用クラスを実装し、そのクラスからインスタンス化して、subViewアニメーションに適用しました。

AnimationClass *ani = [[AnimationClass alloc] init];    
ani.type = AnimationClassTypeTransition;
ani.direction = AnimationClassDirectionMoveUp;

[self.masterView addSubview:self.detailImage withAnimation:ani];

スムーズなトランジションアニメーションですべてがうまくいきますが、次の警告が表示されます。

'UIView' may not respond to 'addSubview:withAnimation:'

その警告を解決するために上記のコードをリファクタリングするにはどうすればよいですか?よろしくお願いします

編集 masterViewはUIViewタイプのプロパティです。これは次のように宣言されています:

@property (nonatomic, assign) UIView *masterView;

そしてで合成されます.m

4

2 に答える 2

1

addSubview:withAnimation:コードがクラッシュせずに実行されている場合は、サブクラスのメソッドの宣言を忘れているだけです。メソッドを持つUIViewsubclassedself.masterViewのタイプであると思いますが、サブクラスのファイルでこのメソッドを宣言していません。UIViewaddSubview:withAnimation:.hUIView

于 2012-06-18T09:38:35.893 に答える
1
#import <QuartzCore/QuartzCore.h>

CATransition *transition = [CATransition animation];
transition.duration = 1.0;
transition.type = kCATransitionPush; //choose your animation
[newView.layer addAnimation:transition forKey:nil];
[self.view addSubview:newView]; 
于 2012-06-18T09:39:43.610 に答える