【Swift5】WatchOSでアラートを表示する方法(Alert・ActionSheet)【Objective-C】

2019年8月29日

WatchOSでアラートを表示する方法を紹介します。

アラートはAlertとActionSheetの2種類あるので両方紹介します。

アラート(Alert)を表示する方法

Swift5

let alertAction1 = WKAlertAction.init(title: "テスト1",
                                      style: .default,
                                      handler: {
                                        print("テスト1")
})

let alertAction2 = WKAlertAction.init(title: "テスト2",
                                      style: .default,
                                      handler: {
                                        print("テスト2")
})

let alertAction3 = WKAlertAction.init(title: "キャンセル",
                                      style: .default,
                                      handler: {
                                        print("キャンセル")
})

self.presentAlert(withTitle: "タイトル",
                  message: "メッセージ",
                  preferredStyle: .alert,
                  actions: [ alertAction1, alertAction2, alertAction3])

Objective-C

WKAlertAction *alertAction1 = [WKAlertAction actionWithTitle:@"テスト1"
                                                       style:WKAlertActionStyleDefault
                                                     handler:^{
                                                         NSLog(@"テスト1");
                                                     }];

WKAlertAction *alertAction2 = [WKAlertAction actionWithTitle:@"テスト2"
                                                       style:WKAlertActionStyleDefault
                                                     handler:^{
                                                         NSLog(@"テスト2");
                                                     }];

WKAlertAction *alertAction3 = [WKAlertAction actionWithTitle:@"キャンセル"
                                                       style:WKAlertActionStyleCancel
                                                     handler:^{
                                                         NSLog(@"キャンセル");
                                                     }];

[self presentAlertControllerWithTitle:@"タイトル"
                              message:@"メッセージ"
                       preferredStyle:WKAlertControllerStyleAlert
                              actions:@[ alertAction1, alertAction2, alertAction3]];

アクションシート(ActionSheet)を表示する方法

アラートとアクションシートの切り替えはpreferredStyleを変更するだけで行えます。

Swift5

self.presentAlert(withTitle: "タイトル",
                  message: "メッセージ",
                  preferredStyle: .actionSheet,
                  actions: [ alertAction1, alertAction2, alertAction3])

Objective-C

[self presentAlertControllerWithTitle:@"タイトル"
                              message:@"メッセージ"
                       preferredStyle:WKAlertControllerStyleActionSheet
                              actions:@[ alertAction1, alertAction2, alertAction3]];