que se refiere a la DOC y dijo:¿Qué hace exactamente parámetro bool hacer en animateWithDuration: animaciones: completado:
finalización
... Este bloque tiene ningún valor de retorno y toma un solo booleana argumento que indica si las animaciones realmente terminaron antes de que se llamara al controlador de finalización. ...
Pero me parece que no importa que utilice el parámetro bool o no, el bloque completion:
siempre se ejecutará después de animations:
bloque. Al igual que los dos simples fragmentos de código de animación basados en bloques que se muestran a continuación, ambos hacen lo mismo.
[UIView animateWithDuration:0.3f
delay:0.0f
options:UIViewAnimationCurveEaseInOut
animations:^{
[myView setAlpha:0.0f];
}
completion:^(BOOL finished) {
[myView removeFromSuperview];
}];
y
[UIView animateWithDuration:0.3f
delay:0.0f
options:UIViewAnimationCurveEaseInOut
animations:^{
[myView setAlpha:0.0f];
}
completion:^(BOOL finished) {
if (finished) [myView removeFromSuperview];
}];
Y me parece que la mayoría de la gente (incluido yo) utilizan el primero de ellos (incluso ejemplo oficial de documentación de la manzana). Entonces,
- ¿cuál es el parámetro
finished
usado aquí exactamente? - o ¿cuál es la situación se utilizará?
Una gran pregunta, nunca me pregunté sobre esto hasta que mi código creaba animaciones causantes de ataques hoy. Gracias por preguntar esto! –