当按下一个按钮时,如何使用Swift隐藏标签?

9

我已经创建了自己的标签和按钮。现在当页面加载时,标签会像我想要的那样隐藏,但是当我点击按钮时,它不能按照预期显示出来,实际上什么都没有发生。我该如何解决这个问题,使标签在我按下按钮时显示出来?

 @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



    }
  }
5个回答

25

我正在使用以下代码在Swift 3上:

label.isHidden = true // hide
label.isHidden = false // show

你可以将isHidden与其他UI对象一起使用,参见该答案


2
除非我在viewDidLoad中漏掉了什么,否则您正在创建一个新标签。
 var label = ...

您没有使用IBOutlet属性,例如:

 label = ...

您确定括号正确吗?因为看起来您的buttonPressed方法嵌套在viewDidLoad中。

1
创建一个IBAction:
@IBAction func thumbsUpButtonaPressed(sender: UIButton) {
    label.hidden = false
}

然后通过cmd + 拖动按钮到操作上将其与您的按钮连接起来:

image

Swift 5 更新
@IBAction func thumbsUpButtonaPressed(sender: UIButton) {
    label.isHidden = false
}

0

您也可以进行更改:

label.alpha = 1.0 // show
label.alpha = 0.0 // hide

尝试使用以下方法来修正您的函数:

func thumbsUpButtonaPressed(sender: UIButton!) {
            print("button was pressed")
            label.hidden = false
            label.setNeedDisplay()
}

0

为您的按钮创建普通的IBAction:

@IBAction func thumbsUpButtonaPressed(sender: UIButton!) {

  label.hidden = false
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接