前面有篇博客记录了自定义弹出窗口,这篇博客分享一个弹出窗口的透明动画。
弹窗是一个自定义的view,它继承于UIView,即透明动画针对UIView写就可以了。
首先自定义一个方法:
/// <summary>
/// 隐藏或显示dialog
/// </summary>
/// <param name="type">Type.</param>
private void ShowAndHinddenDialog(UIView v, int type)
{
// 隐藏
if (type == 1)
{
UIView.Animate(1.0, () =>
{
v.Alpha = (System.nfloat)1.0;
v.Alpha = (System.nfloat)0.0;
});
return;
}
// 显示
else if (type == 2)
{
v.Hidden = false;
}
// 第一次添加
else if (type == 3)
{
this.View.Window.AddSubview(v);
}
UIView.Animate(1.0, () =>
{
v.Alpha = (System.nfloat)0.0;
v.Alpha = (System.nfloat)1.0;
});
}
上面这个方法是我针对弹窗写的,使用时就是:
//弹出窗口
if (View.Hidden)
ShowAndHinddenDialog(View, 2);
else ShowAndHinddenDialog(View, 3);
//关闭弹窗
if (!View.Hidden)
ShowAndHinddenDialog(View, 1);
即可达到通过改变透明度来显示与隐藏弹窗效果。