using System;
using UIKit;
using CoreGraphics;
namespace Shared
{
///
/// 对话框
///
public class Alert
{
///
/// 当前对话框
///
UIAlertView myUIAlertView;
///
/// 对话窗
///
/// 标题
/// 信息
/// 取消按键备注,值null表示不显示取消按键
/// 确认按键备注
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;
///
/// 对话窗
///
/// 标题
/// 信息
/// 确认按键备注
public Alert(string title,string message,string okButtonText):this(title,message,null,okButtonText)
{
}
///
/// 结果通知事件,true表示选中按键,false表示取消事件
///
public Action ResultEventHandler;
///
/// 显示当前的界面
///
public void Show()
{
myUIAlertView.Show();
//if (myUIAlertView != null && !myUIAlertView.Visible)
//{
// myUIAlertView.Show();
//}
}
///
/// 关闭当前的界面
///
public void Dismiss()
{
if (myUIAlertView != null )
{
myUIAlertView.DismissWithClickedButtonIndex(0, false);
}
}
}
}