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); } } } }