按下按钮时快速隐藏标签
Posted
技术标签:
【中文标题】按下按钮时快速隐藏标签【英文标题】: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
【问题讨论】:
【参考方案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
【讨论】:
以上是关于按下按钮时快速隐藏标签的主要内容,如果未能解决你的问题,请参考以下文章