在 Xamarin 中使用 transitionWithView 设置 UIView.Hidden 属性时淡化动画
Posted
技术标签:
【中文标题】在 Xamarin 中使用 transitionWithView 设置 UIView.Hidden 属性时淡化动画【英文标题】:Fade animation when setting UIView.Hidden property with transitionWithView in Xamarin 【发布时间】:2016-05-20 17:02:08 【问题描述】:我正在尝试在我的解决方案中翻译this code,以使视图在单击时优雅地淡出:
[UIView transitionWithView:button
duration:0.4
options:UIViewAnimationOptionTransitionCrossDissolve
animations:NULL
completion:NULL];
button.hidden = YES;
但我在 Xamarin 中的 UIView
下找不到 transitionWithView
的等价物,有人可以建议吗?
我尝试了这个不同的动画,但它没有提供溶解的选项:
UIView.SetAnimationTransition(UIViewAnimationTransition.CurlDown, button, true);
【问题讨论】:
【参考方案1】:设置 hidden 属性只会隐藏 UIView。您可以使用以下代码为您的视图设置动画,并在动画完成时使用回调执行逻辑。
UIView.Animate (2, 0, UIViewAnimationOptions.CurveLinear,
() =>
button.Alpha = 0.0f;
,
() =>
// animation complete logic
);
上面的代码将在 2 秒内淡出按钮视图,使用线性曲线延迟 0 秒。
【讨论】:
【参考方案2】: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/
【讨论】:
以上是关于在 Xamarin 中使用 transitionWithView 设置 UIView.Hidden 属性时淡化动画的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Xamarin.Forms.Maps(无 Xamarin.Forms.GoogleMaps)在地图中应用样式或更改颜色