我正在尝试添加动画以从左到右移动我的按钮。
我添加了以下代码
[self.view beginAnimations:nil context:nil];
[self.view setAnimationDuration:1.0f];
[button setFrame:newFrame];
[self.view commitAnimations];
但是当我构建时,我看到警告“实例方法beginAnimations:context:not found”
我添加了QuartzCore框架并包含
#import <QuartzCore/CoreAnimation.h>
有人可以告诉我缺少什么吗?
谢谢
答案 0 :(得分:2)
无需导入石英标题。
beginAnimations:context:
是一种类方法。你在UIView的一个实例上调用它。这同样适用于setAnimationDuration
和commitAnimations
。将self.view
替换为UIView
,或者更好地使用基于块的动画。
您的代码已更正:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0f];
[button setFrame:newFrame];
[UIView commitAnimations];
基于块(iOS4.0及更高版本):
[UIView animateWithDuration:1.0 animations:^{[button setFrame:newFrame];}];
根据您的评论,您错过了我的观点。这些方法是类方法。您需要直接将其称为UIView
- 类。不要self.view
,这是UIView的实例。查看上面的代码行 - 消息正被发送到UIView
。使用上面的确切代码行。如果您愿意,可以复制并粘贴。我没有使用UIView作为占位符“在这里插入一个视图对象!”,这是你必须使用的代码。