尝试动画时,C#中的完成处理程序是什么样的?

时间:2014-09-18 09:16:13

标签: c# ios xamarin.ios xamarin uiviewanimation

我想翻译此代码

[UIView animateWithDuration:0.25
    animations:^{
        self.datePicker.alpha = 0.0f;
    }
    completion:^(BOOL finished){
        self.datePicker.hidden = YES;
    }
];

到Xamarin iOS:

UIView.Animate (0.25,
    animation: () => {
        this.datePicker.Alpha = 0.0f;
    },
    completion: (finished){
        this.datePicker.Hidden = true;
    }
);

问题出在completion块中。我如何在这里使用bool finished

我得到了

  

意外符号{

2 个答案:

答案 0 :(得分:8)

它是基本的lambda expression

UIView.Animate (0.25,
    animation: () => {
        this.datePicker.Alpha = 0.0f;
    },
    completion: () => {
        this.datePicker.Hidden = true;
    }
);

或者由于你的身体只有一个陈述,你可以进一步减少

UIView.Animate (0.25,
    animation: () => this.datePicker.Alpha = 0.0f,
    completion: () => this.datePicker.Hidden = true
);

答案 1 :(得分:2)

使用UIView.AnimateNotify()获取使用bool参数的完成处理程序的委托。