Xamarin警报失败

时间:2018-01-01 17:34:51

标签: c# ios xamarin

拨打UIAlertView时收到错误:

/Users/sun/Projects/csharp/csharp/ViewController.cs(13,13): Warning CS0618: 'UIAlertView.UIAlertView(string, string, UIAlertViewDelegate, string, params string[])' is obsolete: 'Use overload with a IUIAlertViewDelegate parameter' (CS0618) (csharp)

enter image description here

代码:

    void HandleTouchUpInside(object sender, EventArgs ea)
    {
        new UIAlertView("Touch2", "TouchUpInside handled", null, "OK", null).Show();
    }

1 个答案:

答案 0 :(得分:2)

警告和错误是两回事。

错误:

TouchUpInside上的无效选择器可能会导致一些不同的事情,因为您没有在设置方式上发布代码,但我会看看您是否对该按钮有任何其他操作如果按钮(或其ViewController)超出范围等,则在Storyboard中分配。

警告:

  

警告CS0618:' UIAlertView.UIAlertView(字符串,字符串,UIAlertViewDelegate,字符串,参数字符串[])'已经过时了:

UIAlertView在iOS 8中已弃用,因此如果您的目标是iOS 9+,则应使用UIAlertController

var uiAlert = UIAlertController.Create("Touch2", "TouchUpInside handled", UIAlertControllerStyle.Alert);
uiAlert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, (alertAction) => { 
    alertAction.Dispose(); 
    uiAlert.Dispose(); 
}));
await PresentViewControllerAsync(uiAlert, true);