在计算之后,我希望显示一个弹出框或警告框,向用户传递消息。有人知道我在哪里可以找到更多的信息吗?


当前回答

下面是Xamarin.iOS中的c#版本

var alert = new UIAlertView("Title - Hey!", "Message - Hello iOS!", null, "Ok");
alert.Show();

其他回答

自iOS 8发布以来,UIAlertView现在已弃用;UIAlertController是替换的。

下面是它在Swift 5中的示例:

let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: .alert)
let alertAction = UIAlertAction(title: "OK!", style: .default) { (sender: UIAlertAction) -> Void in
    // ... Maybe handle "OK!" being tapped.
}
alert.addAction(alertAction)

// Show.
present(alert, animated: true) { () -> Void in
    // ... Maybe do something once showing is complete.
}

如您所见,API允许我们实现对动作和呈现警报时的回调,这非常方便!

对于较旧的Swift版本:

let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertActionStyle.default)
{
    (UIAlertAction) -> Void in
}
alert.addAction(alertAction)
present(alert, animated: true)
{
    () -> Void in
}

UIAlertView可能就是你要找的。这里有一个例子:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No network connection" 
                                                message:@"You must be connected to the internet to use this app." 
                                               delegate:nil 
                                      cancelButtonTitle:@"OK"
                                      otherButtonTitles:nil];
[alert show];
[alert release];

如果你想做一些更有趣的事情,比如在UIAlertView中显示一个自定义UI,你可以子类化UIAlertView并在init方法中放入自定义UI组件。如果你想在UIAlertView出现后对按钮按下做出响应,你可以设置上面的委托并实现- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex方法。

你可能还想看看UIActionSheet。

下面是Xamarin.iOS中的c#版本

var alert = new UIAlertView("Title - Hey!", "Message - Hello iOS!", null, "Ok");
alert.Show();

虽然我已经写了不同类型的弹出窗口的概述,但大多数人只需要一个警报。

如何实现弹出对话框

class ViewController: UIViewController {

    @IBAction func showAlertButtonTapped(_ sender: UIButton) {

        // create the alert
        let alert = UIAlertController(title: "My Title", message: "This is my message.", preferredStyle: UIAlertController.Style.alert)

        // add an action (button)
        alert.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil))

        // show the alert
        self.present(alert, animated: true, completion: nil)
    }
}

我更完整的答案在这里。

从iOS 8.0开始,你需要像下面这样使用UIAlertController:

-(void)alertMessage:(NSString*)message
{
    UIAlertController* alert = [UIAlertController
          alertControllerWithTitle:@"Alert"
          message:message
          preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction* defaultAction = [UIAlertAction 
          actionWithTitle:@"OK" style:UIAlertActionStyleDefault
         handler:^(UIAlertAction * action) {}];

    [alert addAction:defaultAction];
    [self presentViewController:alert animated:YES completion:nil];
}
  

self在我的例子中是一个UIViewController,它为弹出窗口实现了presentViewController方法。