动画子类无法正确应用于我的视图动画

时间:2012-06-18 09:32:59

标签: ios cocoa-touch uiview

我的目标是展示带有动画的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:'

我如何重构上面的代码来解决这个警告呢? Thanx提前

修改 masterView是UIView类型的属性。它的声明如下:

@property (nonatomic, assign) UIView *masterView;

并在.m中合成。

2 个答案:

答案 0 :(得分:1)

如果你的代码在没有崩溃的情况下运行,那么你就忘记了声明你的子类addSubview:withAnimation:的方法UIView。我认为self.masterView属于子类{{1}的类型},它有一个方法UIView,但您尚未在子类addSubview:withAnimation:的{​​{1}}文件中声明此方法。

答案 1 :(得分: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];