【问题标题】:swift hiding label when a button is pressed按下按钮时快速隐藏标签
【发布时间】:2016-09-02 12:40:37
【问题描述】:

我创建了自己的标签和按钮。现在,当页面加载时,标签会按我的意愿隐藏,但是当我单击按钮时,它并没有按预期显示,实际上它什么也没做。如何解决按下按钮时显示标签的问题?

 @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



    }
  }

【问题讨论】:

    标签: swift button label


    【解决方案1】:

    你也可以改变:

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

    尝试使用以下方法更正您的功能:

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

    【讨论】:

      【解决方案2】:

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

      @IBAction func thumbsUpButtonaPressed(sender: UIButton!) {
      
        label.hidden = false
      }
      

      【讨论】:

        【解决方案3】:

        创建一个 IBAction:

        @IBAction func thumbsUpButtonaPressed(sender: UIButton) {
            label.hidden = false
        }
        

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

        Swift 5 更新

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

        【讨论】:

          【解决方案4】:

          除非我在 viewDidLoad 中遗漏了一些东西,否则你正在创建一个新标签

           var label = ...
          

          您没有像

          那样使用 IBOutlet 属性
           label = ...
          

          你还确定你的括号是正确的,因为看起来你的 buttonPressed 方法嵌套在 viewDidLoad 中。

          【讨论】:

            【解决方案5】:

            我在swift 3上使用下面的代码

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

            您可以将isHidden 与其他 ui 对象一起使用,另请参阅that answer

            【讨论】:

              猜你喜欢
              • 2017-11-11
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-07-15
              • 2021-03-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多