1. 程式人生 > >Xamarin.iOS UIView的透明動畫

Xamarin.iOS UIView的透明動畫

前面有篇部落格記錄了自定義彈出視窗,這篇部落格分享一個彈出視窗的透明動畫。

彈窗是一個自定義的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);

即可達到通過改變透明度來顯示與隱藏彈窗效果。