在Xamarin中使用transitionWithView设置UIView.Hidden属性时淡出动画

时间:2016-05-20 17:02:09

标签: ios uiview xamarin xamarin.ios

我正在尝试在我的解决方案中翻译this code,以便在点击时让视图优雅淡出:

[UIView transitionWithView:button
     duration:0.4
     options:UIViewAnimationOptionTransitionCrossDissolve
     animations:NULL
     completion:NULL];

button.hidden = YES;

但我在Xamarin的transitionWithView下找不到UIView的等价物,有人可以提供建议吗?

我尝试使用不同的动画,但它没有提供解散选项:

UIView.SetAnimationTransition(UIViewAnimationTransition.CurlDown, button, true);

2 个答案:

答案 0 :(得分:3)

设置隐藏属性只会隐藏UIView。您可以使用以下代码为视图设置动画,并在动画完成时使用回调来执行逻辑。

UIView.Animate (2, 0, UIViewAnimationOptions.CurveLinear,
    () => {
       button.Alpha = 0.0f;
    },
    () => {
      // animation complete logic 
    }
);

上面的代码将使用2秒的按钮视图淡出,使用线性曲线延迟0秒。

答案 1 :(得分:0)

UIView.Transition(button, 0.4, UIViewAnimationOptions.TransitionCrossDissolve, null,
  () => { 
    button.Hidden = true; 
}); 

UIKit.UIView.Transition

参考:https://developer.xamarin.com/api/member/UIKit.UIView.Transition/p/UIKit.UIView/System.Double/UIKit.UIViewAnimationOptions/System.Action/System.Action/