using System;
|
using UIKit;
|
using CoreGraphics;
|
|
namespace Shared
|
{
|
/// <summary>
|
/// 对话框
|
/// </summary>
|
public class Alert
|
{
|
/// <summary>
|
/// 当前对话框
|
/// </summary>
|
UIAlertView myUIAlertView;
|
|
/// <summary>
|
/// 对话窗
|
/// </summary>
|
/// <param name="title">标题</param>
|
/// <param name="message">信息</param>
|
/// <param name="cancelButtonText">取消按键备注,值null表示不显示取消按键</param>
|
/// <param name="okButtonText">确认按键备注</param>
|
public Alert(string title, string message, string cancelButtonText, string okButtonText)
|
{
|
myUIAlertView = new UIAlertView { Title = title, Message = message };
|
myUIAlertView.Clicked += (s, e) =>
|
{
|
if (ResultEventHandler != null)
|
{
|
if (e.ButtonIndex == 0)
|
{
|
if (flag)
|
{
|
//取消按键
|
ResultEventHandler?.Invoke(this, false);
|
}
|
else
|
{
|
//按了确定
|
ResultEventHandler?.Invoke(this, true);
|
}
|
}
|
else if (e.ButtonIndex == 1)
|
{
|
//按了确定
|
ResultEventHandler?.Invoke(this, true);
|
}
|
}
|
|
};
|
if (cancelButtonText != null)
|
{
|
myUIAlertView.AddButton(cancelButtonText);
|
flag = true;
|
}
|
myUIAlertView.AddButton(okButtonText);
|
}
|
|
|
bool flag;
|
/// <summary>
|
/// 对话窗
|
/// </summary>
|
/// <param name="title">标题</param>
|
/// <param name="message">信息</param>
|
/// <param name="okButtonText">确认按键备注</param>
|
public Alert(string title,string message,string okButtonText):this(title,message,null,okButtonText)
|
{
|
|
}
|
|
/// <summary>
|
/// 结果通知事件,true表示选中按键,false表示取消事件
|
/// </summary>
|
public Action<Alert, bool> ResultEventHandler;
|
|
/// <summary>
|
/// 显示当前的界面
|
/// </summary>
|
public void Show()
|
{
|
myUIAlertView.Show();
|
|
//if (myUIAlertView != null && !myUIAlertView.Visible)
|
//{
|
// myUIAlertView.Show();
|
//}
|
}
|
|
|
|
/// <summary>
|
/// 关闭当前的界面
|
/// </summary>
|
public void Dismiss()
|
{
|
if (myUIAlertView != null )
|
{
|
myUIAlertView.DismissWithClickedButtonIndex(0, false);
|
}
|
|
}
|
|
}
|
}
|