我正在尝试创建一个自定义块,如UIView
动画块。基本上我希望能够传递一个方法或任意数量的指令,并提供一个完成处理程序。我的问题是如何指定块定义的参数部分?
问问题
3204 次
2 回答
4
您可以有一个方法声明,例如:
- (void) performAnimationWithCompletion:(void (^)(BOOL finished))completion {
[UIView animateWithDuration:0.5 animations:^{
// your own animation code
// ...
} completion:^(BOOL finished) {
// your own completion code
// if completion block defined, call it
if(completion){
completion(YES);
}
}];
}
然后,您可以使用以下命令调用它:
[instance performAnimationWithCompletion:^(BOOL complete){
// define block code to be executed on completion
}];
于 2012-11-26T01:37:01.530 回答
2
[UIView animateWithDuration:0.3
delay:0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
// other animations here
}
completion:^(BOOL finished){
// ... completion stuff
}
];
于 2012-11-26T00:46:55.457 回答