遵守以下代码:
- (void)hideRectangleWithAnimation:(BOOL)animate completion:(void (^)(void))completionBlock
{
if (animate)
{
// Hide rectangle
[UIView animateWithDuration:0.3 animations:^{ rect.alpha = 0; } completion:^(BOOL finished){
completionBlock();
}
}
else
{
rect.alpha = 0;
}
}
有没有一种方法可以不重复属性更改:
rect.alpha = 0;
两次?目前这行代码微不足道,但可能会出现更复杂的情况,其中发生了很多事情。
最佳答案
我想我才找到答案。我可以将rect.alpha = 0;
放在一个块变量中,并改用它。
void (^animationBlock)(void) = ^{
rect.alpha = 0;
};
if (animate)
{
[UIView animateWithDuration:0.3 animations:animationBlock completion:^(BOOL finished){
completionBlock();
}];
}
else
{
animationBlock();
}
关于iphone - 动画与不动画时如何不重复此代码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7655768/