0

我正在尝试添加动画以将我的​​按钮从左向右移动。

我添加了以下代码

[self.view beginAnimations:nil context:nil];
[self.view setAnimationDuration:1.0f];
[button setFrame:newFrame];
[self.view commitAnimations];

但是当我构建时,我看到警告“实例方法 beginAnimations:context:未找到”

我添加了 QuartzCore 框架并包含

#import <QuartzCore/CoreAnimation.h>

有人可以告诉我我错过了什么吗?

谢谢

4

1 回答 1

2

不需要导入石英接头。

beginAnimations:context:是一个类方法。您在 UIView 的实例上调用它。这同样适用于setAnimationDurationcommitAnimations。替换self.viewUIView或更好的是使用基于块的动画。

您的代码,更正:

[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 作为“在此处插入视图对象!”的占位符,这是您必须使用的代码。

于 2012-04-17T07:04:35.060 回答