Bueno, todo el mundo sabe que en ObjC tenemos¿Cómo pasar argumentos a NSAction?
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
en cuenta que completion
bloque tiene un argumento BOOL. Ahora vamos a ver MonoTouch:
public static void Animate (double duration, double delay, UIViewAnimationOptions options, NSAction animation, NSAction completion)
NSAction es:
public delegate void NSAction();
Sólo el delegado sin ningún argumento. Por otra parte, en "internos" MonoTouch podemos ver:
public static void Animate (double duration, double delay, UIViewAnimationOptions options,
NSAction animation, NSAction completion)
{
UIView.AnimateNotify (duration, delay, options, animation, delegate (bool x)
{
if (completion != null)
{
completion();
}
});
}
Aviso delegate (bool x)
, se llama a la función al igual que necesito. Ahora, ¿cómo puedo pasar Action<bool>
como finalización al UIView.Animate
?
¿No cree que es hora de quitar la envoltura de edad? –
@Maxim: imagino que sería excesivo eliminarlo durante la noche. Pero obsoleto me parece una buena idea. (No soy un desarrollador de MT, solo un usuario). –