質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

button

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

Xcode

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

Swift

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

Q&A

解決済

1回答

1360閲覧

if文を使った、UIbuttonのテキスト変更について

kakakawashitax

総合スコア9

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

button

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

Xcode

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

Swift

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

0グッド

0クリップ

投稿2019/08/04 07:30

編集2019/08/04 07:33

UIButtonのテキストが最初は「開始」になっていて、一回そのボタンを押すと「休憩」に変わり。もう一回押すと「戻り」に変わりさらにもう一回押すと、また「開始」に戻るという動作を実装したいです。
if文を使って、①「開始」になっていたら「休憩」に変更。②「休憩」になっていたら「戻り」に変更。③「戻り」になっていたら「開始」に変更。というふうにしたいです。

おそらく、if <> == "開始"{}
とかくのだと予想していますが、<>に何を入力すればいいのかわからないので、教えて下さい。
よろしくお願いします。

switch文でもできそうです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

色々方法はあると思いますが
enum で状態持たせるのが良いと思います。
通常は文字列だけでなくタップ時の処理も変わるはずですので。

swift

1class ViewController: UIViewController { 2 enum ButtonNameType { 3 case start 4 case rest 5 case back 6 } 7 var buttonNameType: ButtonNameType! 8 9 override func viewDidLoad() { 10 super.viewDidLoad() 11 self.buttonNameType = .start 12 self.button.setTitle("開始", for: .normal) 13 } 14 15 // 略 16 17 @IBAction func buttonAction(_ sender: UIButton) { 18 switch self.buttonNameType { 19 case .start: 20 self.buttonNameType = .rest 21 self.button.setTitle("休憩", for: .normal) 22 // 開始ボタンタップ時に他に処理したい際にここに記載 23 case .rest: 24 self.buttonNameType = .back 25 self.button.setTitle("戻り", for: .normal) 26 // 休憩ボタンタップ時に他に処理したい際にここに記載 27 case .back: 28 self.buttonNameType = .start 29 self.button.setTitle("開始", for: .normal 30 // 戻りボタンタップ時に他に処理したい際にここに記載 31 } 32 } 33}

投稿2019/08/04 09:49

TakuyaAso

総合スコア1361

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

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

kakakawashitax

2019/08/05 07:28

なるほど!ありがとうございます!早速実装してみます。
kakakawashitax

2019/08/05 16:04

回答ありがとうございます。 すみません。追加で質問いたします。 self.buttonNameType = .start の部分は、何を表しているのでしょうか。 self.というのは、自分自身のインスタンスを表し、「.」のあとには、メソッドを書くということまでしか把握できておりません。 回答よろしくお願い致します。
TakuyaAso

2019/08/05 17:13

この場合の buttonNameType はメソッドではなくプロパティです。 ButtonNameType 型の変数 buttonNameType を宣言しています。 初期状態として buttonNameType の値を ButtonNameType.start にしています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問