子类 UIView 错误
Posted
技术标签:
【中文标题】子类 UIView 错误【英文标题】:Sub Classing UIView Error 【发布时间】:2012-07-05 01:47:59 【问题描述】:当我将 xib 类设置为 UIView 的子类,然后在 UIView 上设置animateWithDuration
时,我得到了
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];
【问题讨论】:
你能贴出导致错误的代码吗? 【参考方案1】:您收到错误是因为您尝试在 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!");
];
【讨论】:
以上是关于子类 UIView 错误的主要内容,如果未能解决你的问题,请参考以下文章