0

当我将 xib 类设置为 UIView 的子类然后animateWithDuration在 UIView 上我得到

No visible @interface for 'UIView' declares the selector
'animateWithDuration:delay:options:animations:completion:' 

错误窗格显示这是一个 ARC 问题

在此处输入图像描述

我正在尝试在 UIView 上运行动画。

编辑:导致错误的代码

 [sampleSourceView.view animateWithDuration:1
                                             delay:1.0
                                           options: UIViewAnimationCurveEaseOut
                                        animations:^{
                                            sampleSourceView.view.frame = sampleSourceFrame;
                                        } 
                                        completion:^(BOOL finished){
                                            NSLog(@"Done!");
                                        }];

        [self.view addSubview:sampleSourceView.view];
4

1 回答 1

6

您收到错误是因为您试图在 UIView 的实例上使用类方法。查看方法签名:

+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion

加号表示它是一个类方法。实例方法将有一个减号。

试试这个:

[UIView animateWithDuration:1
                     delay:1.0
                   options: UIViewAnimationCurveEaseOut
                animations:^{
                    sampleSourceView.view.frame = sampleSourceFrame;
                } 
                completion:^(BOOL finished){
                    NSLog(@"Done!");
                }];
于 2012-07-05T02:07:13.333 回答