0

我正在研究使用 UIView 开始动画,通常在大多数教程中它们总是使用相同的语法:

[UIView beginAnimations:nil context:NULL];

我在代码中看到在 beginAnimation 中我们可以放置一个 nsstring,并在上下文中放置一个 void 函数,对吗?为此,我这样做:

[UIView beginAnimations:@"Will Start" context:@selector(start)];

-(void)start{

NSLog(@"Animation Running");

}

但是 nsstring 'will start' 没有显示给我,并且 void 函数 'start' 没有调用。我不知道我是否以错误的方式这样做,但是那些选项 BeginAnimation 的 NSString 类型和类型 void 的类型上下文是什么?有人可以给我一个例子吗?

4

1 回答 1

0

看起来您不太了解该beginAnimations:context:方法的工作原理。首先,animationId是一个仅标识动画的 NSString。其次,您传递给的数据context实际上就是您想要的任何数据。函数指针、对象等

所以你在调用之后要做[UIView beginAnimations:context:]的是发送不同的setAnimation消息来设置属性,将视图值更改为你最终想要达到的值(位置、颜色、alpha),最后发送[UIView commitAnimations]消息。

一个很好的教程可以更详细地解释这一点

于 2014-12-19T23:41:33.830 回答