ボタンを押したときにラベルを作成/表示しようとしていて、同じボタンをもう一度押したときに同じラベルを削除/隠そうとしています。私はすべてSwiftのプログラムでこれをやろうとしています。ボタンを押した後にプログラムでUILabelを削除する
label.removeFromSuperview()を使用しようとしましたが、効果がないようです。私はラベルを非表示/削除しようとしているところが、私はここで
var label = UILabel()
let labelImage = UIImage(named: "Strike Line.png")
/* to select checkmarked state */
func pressCheck() {
let image = UIImage(named: "Checkmark.png")
button.setBackgroundImage(image, for: UIControlState.normal)
button.addTarget(self, action:#selector(self.pressUnCheck), for: .touchUpInside)
self.view.addSubview(button)
textField1.textColor = UIColor.gray //change textfield to a gray color
label = UILabel(frame: CGRect(x : 31, y : 69, width: 200, height: 2))
label.backgroundColor = UIColor(patternImage: labelImage!)
self.view.addSubview(label)
}
func pressUnCheck()
{
let image = UIImage(named: "To Be Completed Circle.png")
button.setBackgroundImage(image, for: UIControlState.normal)
button.addTarget(self, action:#selector(self.pressCheck), for: .touchUpInside)
self.view.addSubview(button)
label.removeFromSuperview()
textField1.textColor = UIColor.black
}
)button.removeFromSuperviewを(使用して同じコードの位置にボタンを削除しようとしたときです。
ラベルを作成する場所や追加する場所など、より多くのコードを表示できますか? –
このコードは実行されていますか? – JohnnyAW
コードを追加しました。 @JohnnyAWはい、私はlabel.backgroundColor = UIColor.redを試してみると、ボタンがクリックされたときにラベルイメージが赤色に変わるので、実行されていると信じています – brownmamba