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

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

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

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

Q&A

解決済

2回答

1193閲覧

swift ボタン5つ

imazai

総合スコア16

Swift

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

0グッド

0クリップ

投稿2018/11/02 12:08

編集2018/11/02 13:57

ボタン12345を用意いしました。ボタン5は非表示にしています。
なぜ非表示かというと、ボタン1234のうち1、2をタップ したとき、1、3をタップした時1、4を、2、3を......というように二つのボタンをタップした時(バックグラウンドの色が青になった時)にボタン5を表示させたいからです。
まずボタン5を非表示にする場合
button5.isHidden = trueのコードの場所はここでいいのでしょうか?
あと、私が実行したいことの解釈はbutton1,2のバックグラウンドカラーが青になった時button5を表示。でいいんでしょうか?
だとしても各ボタンのActionの続きに?
outletの所に?と基礎的なことがわかっていないため、悩みに悩んでいます。
解答よろしくお願いします!

import UIKit class kamotsuViewController: UIViewController { @IBOutlet weak var button1: UIButton! @IBOutlet weak var button2: UIButton! @IBOutlet weak var button3: UIButton! @IBOutlet weak var button4: UIButton! @IBOutlet weak var button5: UIButton! override func viewDidLoad() { super.viewDidLoad() button5.isHidden = true } @IBAction func button1(_ sender: UIButton) { if button1.backgroundColor == nil{ button1.backgroundColor = UIColor.blue } else if button1.backgroundColor == UIColor.blue{ button1.backgroundColor = nil } } @IBAction func button2(_ sender: UIButton) { if button2.backgroundColor == nil{ button2.backgroundColor = UIColor.blue } else if button2.backgroundColor == UIColor.blue{ button2.backgroundColor = nil } } @IBAction func button3(_ sender: UIButton) { if button3.backgroundColor == nil{ button3.backgroundColor = UIColor.blue } else if button3.backgroundColor == UIColor.blue{ button3.backgroundColor = nil } } @IBAction func button4(_ sender: UIButton) { if button4.backgroundColor == nil{ button4.backgroundColor = UIColor.blue } else if button4.backgroundColor == UIColor.blue{ button4.backgroundColor = nil } }

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

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

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

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

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

YOshim

2018/11/02 12:49

現状でどのようなコードを実装し、どう上手くいかないのかを記載して頂けませんか。
imazai

2018/11/02 13:27

依頼ありがとうございます。
guest

回答2

0

"ボタンの件"というのは、ボタンを2つ押したらボタン5を表示させるためのコードでしょうか。
例えばvar counter = 0を宣言しておき、
各ボタンのアクションに

counter += 1//Swiftではインクリメント"++"、デクリメント"--"は使えなくなった if counter == 2 { button5.isHidden = false }

を記述すれば良いと思います。
他に条件あれば教えて頂ければと思います。

投稿2018/11/02 14:34

編集2018/11/02 16:47
YOshim

総合スコア1085

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

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

imazai

2018/11/02 16:17

丁寧な解答ありがとうございます。本当にありがたいです。 はじめに答えていただいた`button5.isHidden = true`の位置についてなんですが`viewDidLoad()`の前に記述しようと思ってやって見ても`Expected declaration`となり、うまく行きません。`viewDidLoad()`の前に記述する時は`button5.isHidden = true`ではないんでしょうか?
YOshim

2018/11/02 16:26

すみません、記憶がこんがらがっており、完全に嘘をついてしまいました。 お時間取らせてしまい本当に申し訳ないです。 viewDidLoad()の後に設定してください。 また、Xcodeの右側のDrawingのHiddenにチェックを入れると 初期値がHidden状態になりますので、 その場合はソースコードの記載は不要です。 あー恥ずかしい。
imazai

2018/11/02 16:37

こちらこそ私のために色々とありがとうござます! また明日、明後日で今日教えていただいたことをやってみてコメントさしていただきます! 感謝です。
guest

0

ベストアンサー

button5.isHidden = trueの位置についてですが、
viewDidLoad()はアプリの起動を意味しますので
初期状態を設定したいのであれば、その前に記載するのがベターです。
viewDidLoad()の後ろに記述すると、起動直後に一瞬だけ表示される可能性があります。

本当にすみません、これ完全に嘘でした。

投稿2018/11/02 14:15

編集2018/11/02 16:28
YOshim

総合スコア1085

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

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

imazai

2018/11/02 14:21

ありがとうございます! さっそく直しときます! ボタンの件もアドバイスいただけないでしょうか? 打ち込んで消しての繰り返しで苦戦しています。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問