2017-06-24 14 views
0

私のバックグラウンドの色を変更する3つのボタンがあります。 REDボタンが押されたらそれを隠したい。緑色または青色のボタンが押された場合に表示します。 緑色と青色のボタンも同じです。プッシュボタンを押すとUIButtonが非表示になり、別のボタンが押されたときに表示されます

removeFromSuperviewに電話する方法が見つかりません。 ObjectiveCで私は以前に行ったことがありますmybutton.hidden = true これは動作しません。

ViewController: UIViewController { 
    @IBAction func RED(_ sender: Any) { 

    print("background was \(String(describing: self.view.backgroundColor))") 
    self.view.backgroundColor = UIColor.red 
    print("background is now \(String(describing: self.view.backgroundColor))") 
} 

@IBAction func GREEN(_ sender: Any) { 
    print("background was \(String(describing: self.view.backgroundColor))") 
    self.view.backgroundColor = UIColor.green 
    print("background is now \(String(describing: self.view.backgroundColor))") 
} 

@IBAction func BLUE(_ sender: UIButton) { 
    print("background was \(String(describing: self.view.backgroundColor))") 
    self.view.backgroundColor = UIColor.blue 
    print("background is now \(String(describing: self.view.backgroundColor))") 
} 
+1

'button.isHidden = true'を実行できるはずですか?それがObjCで動作する場合、それはSwiftでも(翻訳付きで)動作するはずです。 – Peterdk

+0

hmm。おそらく何か間違っているIm!もう一度お試しください。 – Splenso

+0

いいえ、もう一度やり直してみてください。UIButtonにはメンバーがいません。 "ishidden" – Splenso

答えて

0

"isHidden"プロパティにアクセスするには、各ボタンにIBOutletを作成する必要があります。今のところIBActionはそれぞれ(少なくともあなたが提供したコードの中で)定義されています。 IBOutletを作成するには、既存のIBActionsを作成したのと同様に、ボタンからビューコントローラのコードにコントロールをドラッグします。ポップアップで、 "Connection"に "Outlet"と "Type"が "UIButton"と表示されていることを確認します。必要に応じて名前を付けます(例:redButton、blueButton)。適切な場所に「redButton.isHidden = true」と入力します。

IBActionでは、ボタンを押したときのボタンの操作のみを制御できます。 IBOutletは、UIButtonのプロパティにアクセスするために必要です。

+0

うわー!できます!よく書かれた答えをありがとう;) – Splenso

関連する問題