我创建了自己的标签和我自己的按钮。现在当页面加载标签隐藏我想要但当我点击按钮它没有显示它应该做,实际上它没有做任何事情。如何解决按下按钮时显示标签的问题?
@IBOutlet var thumbsUpButtonaPressed : UIButton!
@IBOutlet weak var label : UILabel!
override func viewDidLoad() {
var label = UILabel(frame: CGRectMake(0, 0, 200, 21))
label.center = CGPointMake(160, 284)
label.textAlignment = NSTextAlignment.Center
label.text = "00000"
self.view.addSubview(label)
label.hidden = true
let buttona = UIButton()
buttona.frame = CGRectMake(0.772 * view.bounds.width, 0.32 * view.bounds.height, 22, 22)
buttona.layer.cornerRadius = 0.04 * view.bounds.width
buttona.backgroundColor = UIColor.greenColor()
buttona.setImage(UIImage(named:"A.png"), forState: .Normal)
buttona.addTarget(self, action: "thumbsUpButtonaPressed", forControlEvents: .TouchUpInside)
view.addSubview(button)
func thumbsUpButtonaPressed(sender: UIButton!) {
label.hidden = false
}
}
答案 0 :(得分:20)
我在swift 3
label.isHidden = true // hide
label.isHidden = false // show
您可以将isHidden
与其他ui对象一起使用,另请参阅that answer
答案 1 :(得分:2)
除非我在viewDidLoad中遗漏了某些内容,否则您正在创建新标签
var label = ...
您没有像
那样使用IBOutlet Property label = ...
您还确定括号是正确的,因为看起来您的buttonPressed方法嵌套在viewDidLoad中。
答案 2 :(得分:0)
您还可以更改:
label.alpha = 1.0 // show
label.alpha = 0.0 // hide
尝试使用以下方法纠正您的功能:
func thumbsUpButtonaPressed(sender: UIButton!) {
print("button was pressed")
label.hidden = false
label.setNeedDisplay()
}
答案 3 :(得分:0)
为您的按钮创建正常的IBAction:
@IBAction func thumbsUpButtonaPressed(sender: UIButton!) {
label.hidden = false
}
答案 4 :(得分:0)