我的目标是展示带有动画的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
中合成。
答案 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];