在Obj-c中是否可以让动画块为另一个块设置动画?

时间:2014-07-14 19:56:24

标签: ios objective-c block

看来这是可能的。但是想知道是否有更好的方法?我要做的是创建一个自定义组件,允许用户通过他们想要的属性发送我的自定义对象动画到屏幕上。我还想让他们能够通过隐藏动画块发送,我在隐藏块中为他们发送的属性设置动画。例如,他们可能会通过alpha = 1.0&框架大小。然后在隐藏块中,他们可能会说框架和颜色为白色。

void (^testBlock)(void) = ^{
    self.alpha = 0.0f;
};

[UIView animateWithDuration:2.0 animations:^{
    // some block
    testBlock();

} completion:^(BOOL finished) {
    //
}];

1 个答案:

答案 0 :(得分:1)

我认为你问的是你是否可以将动画块传递给UIView动画方法。这样的东西 - 注意你只是将块名称作为参数传递。

void (^testBlock)(void) = ^{
    self.alpha = 0.0f;
};

[UIView animateWithDuration:2.0 animations: testBlock
completion:^(BOOL finished) {
    // do something
}];