🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

button

HTMLで用いる<button>タグです。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

2434閲覧

【swift UI】Buttonに関連づけたalertが表示されない

kureid

総合スコア3

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

button

HTMLで用いる<button>タグです。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2021/02/24 06:33

前提・実現したいこと

某カードゲームでのダメージ計算用のアプリを作成しています.
コイントスの機能を作成し,その結果をアラートで表示したいと考えています.

発生している問題・エラーメッセージ

コイントス機能を実行してもアラートが表示されません.

該当のソースコード

swift

1import SwiftUI 2 3 4struct ContentView: View { 5 @State private var opponentdamage = 0 6 @State private var owndamage = 0 7 @State private var showAlert = false 8 @State private var coin = "表" 9 10 11 var body: some View { 12 NavigationView{ 13 Form { 14 Section(header: Text("相手のバトルポケモン")){ 15 Stepper(value: $opponentdamage, in: 0...990, step: 10){ 16 Text("(opponentdamage, specifier: "%d")") 17 } 18 } 19 20 Section(header: Text("相手のベンチポケモン")){ 21 Stepper(value: $opponentdamage, in: 0...990, step: 10){ 22 Text("(opponentdamage, specifier: "%d")") 23 } 24 } 25 } 26 .toolbar{ 27 ToolbarItem(placement: .navigationBarTrailing) { 28 Button("コイントス") { 29 print("コイントス") 30 let randomBool = Bool.random() 31 self.showAlert.toggle() 32 print(showAlert) 33 34 if randomBool { 35 coin = "表" 36 } 37 else{ 38 coin = "裏" 39 } 40 } 41 .alert(isPresented: $showAlert) { 42 Alert( 43 title: Text("コイントス結果"), 44 message: Text(coin), 45 dismissButton: .default(Text("OK")) 46 ) 47 } 48 } 49 } 50 } 51 52 Form { 53 Section(header: Text("自分のバトルポケモン")){ 54 Stepper(value: $owndamage, in: 0...990, step: 10){ 55 Text("(owndamage, specifier: "%d")") 56 } 57 } 58 59 Section(header: Text("自分のベンチポケモン")){ 60 Stepper(value: $owndamage, in: 0...990, step: 10){ 61 Text("(owndamage, specifier: "%d")") 62 } 63 } 64 } 65 } 66} 67 68struct ContentView_Previews: PreviewProvider { 69 static var previews: some View { 70 ContentView() 71 } 72}

試したこと

さまざまなサイトを拝見しましたが,基本的には現在のコードのような記述になっておりました.

補足情報(FW/ツールのバージョンなど)

iMac bigsur 11.2.1
xcode 12.4
swift 5

初のiosアプリ作成で至らぬ点も多々ありますが,何卒よろしくお願いいたします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kureid

2021/02/24 07:38

ご提示いただいたリンクを参考に toolbar の外に alert を記述してみたところ,無事に動作いたしました! ご教示頂きありがとうございます.
guest

回答1

0

自己解決

質問,追記欄のhoshi-takanori様が提示してくださったリンクを参考に, toolbar の外に alert を記述してみたところ解決いたしました.

投稿2021/02/24 07:39

kureid

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問