[解決済み] OKとCancelのあるSwiftアラートビュー: どのボタンがタップされたか?
2022-09-17 03:30:43
質問
私はSwiftで書かれたXcodeのアラートビューを持っており、私はユーザーが何もしないか何かを実行するために選択したボタン(それは確認ダイアログです)を決定したいと思います。
現在、私は
@IBAction func pushedRefresh(sender: AnyObject) {
var refreshAlert = UIAlertView()
refreshAlert.title = "Refresh?"
refreshAlert.message = "All data will be lost."
refreshAlert.addButtonWithTitle("Cancel")
refreshAlert.addButtonWithTitle("OK")
refreshAlert.show()
}
おそらくボタンの使い方が間違っていると思います。
どのように解決するのですか?
iOS8を使用している場合、UIAlertController - UIAlertViewを使用する必要があります。 非推奨 .
以下は使用例です。
var refreshAlert = UIAlertController(title: "Refresh", message: "All data will be lost.", preferredStyle: UIAlertControllerStyle.Alert)
refreshAlert.addAction(UIAlertAction(title: "Ok", style: .Default, handler: { (action: UIAlertAction!) in
print("Handle Ok logic here")
}))
refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: { (action: UIAlertAction!) in
print("Handle Cancel Logic here")
}))
presentViewController(refreshAlert, animated: true, completion: nil)
見ての通り、UIAlertActionのブロックハンドラがボタン押しを処理しています。 素晴らしいチュートリアルはこちらです(ただし、このチュートリアルはswiftを使用して書かれていません)。 http://hayageek.com/uialertcontroller-example-ios/
Swift 3 のアップデートです。
let refreshAlert = UIAlertController(title: "Refresh", message: "All data will be lost.", preferredStyle: UIAlertControllerStyle.alert)
refreshAlert.addAction(UIAlertAction(title: "Ok", style: .default, handler: { (action: UIAlertAction!) in
print("Handle Ok logic here")
}))
refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { (action: UIAlertAction!) in
print("Handle Cancel Logic here")
}))
present(refreshAlert, animated: true, completion: nil)
Swift 5のアップデートです。
let refreshAlert = UIAlertController(title: "Refresh", message: "All data will be lost.", preferredStyle: UIAlertControllerStyle.alert)
refreshAlert.addAction(UIAlertAction(title: "Ok", style: .default, handler: { (action: UIAlertAction!) in
print("Handle Ok logic here")
}))
refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { (action: UIAlertAction!) in
print("Handle Cancel Logic here")
}))
present(refreshAlert, animated: true, completion: nil)
Swift 5.3 のアップデートです。
let refreshAlert = UIAlertController(title: "Refresh", message: "All data will be lost.", preferredStyle: UIAlertController.Style.alert)
refreshAlert.addAction(UIAlertAction(title: "Ok", style: .default, handler: { (action: UIAlertAction!) in
print("Handle Ok logic here")
}))
refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { (action: UIAlertAction!) in
print("Handle Cancel Logic here")
}))
present(refreshAlert, animated: true, completion: nil)
関連
-
[解決済み] 使用しているSwiftのバージョンを確認するにはどうすればよいですか?
-
[解決済み] Xcode 4で「既存のフレームワークを追加」する方法は?
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] Ok "と "Cancel "オプションのあるダイアログを作成する方法
-
[解決済み] Swiftベースのアプリケーションは、OS X 10.9/iOS 7以下でも動作しますか?
-
[解決済み] XcodeプロジェクトとXcodeワークスペースの比較 - 違い
-
[解決済み] iOS 9の新たな警告 "すべてのビットコードが削除されます"
-
[解決済み] ファイルへ移動...】はありますか?
-
[解決済み] Xcodeでファイルを実フォルダに移動する
-
[解決済み] iOSシミュレータからネットワーク通話を監視する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Xcode Common Error Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)
-
[解決済み] OSXのXcodeを最新版にアップデートする方法を教えてください。
-
[解決済み] Xcode 4で「既存のフレームワークを追加」する方法は?
-
[解決済み] Xcode DMGまたはXIPファイルをダウンロードする方法は?
-
[解決済み】Xcode 11でSwiftパッケージの依存関係を削除する方法は?
-
[解決済み] SwiftでNSStringからNSDataを作成する
-
[解決済み] Xcode5の*.xccheckoutファイルは、VCSで無視されるべきですか?
-
[解決済み] var' パラメータは非推奨で、Swift 3 で削除される予定です。
-
[解決済み] xcode 4のプロジェクトと実際のフォルダの名前を変更する
-
[解決済み] 既存のXcodeプロジェクトでGitを使用する