[英]Swift: How to add a popup screen with label when a button is pressed in TableViewCell
[英]swift hiding label when a button is pressed
我創建了自己的標簽和按鈕。 現在,當頁面加載標簽時,標簽會按照我的意願隱藏,但是當我單擊按鈕時,它沒有按預期顯示,實際上它什么也沒做。 我該如何解決這個問題,當我按下按鈕時會顯示標簽?
@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 3
上使用以下代碼
label.isHidden = true // hide
label.isHidden = false // show
您可以將isHidden
與其他 ui 對象一起使用,也請參閱該答案
除非我在 viewDidLoad 中遺漏了一些東西,否則您正在創建一個新標簽
var label = ...
你沒有像使用 IBOutlet 屬性
label = ...
您還確定您的括號是正確的,因為看起來您的 buttonPressed 方法嵌套在 viewDidLoad 中。
您還可以更改:
label.alpha = 1.0 // show
label.alpha = 0.0 // hide
嘗試使用以下方法更正您的功能:
func thumbsUpButtonaPressed(sender: UIButton!) {
print("button was pressed")
label.hidden = false
label.setNeedDisplay()
}
為您的按鈕創建普通的 IBAction:
@IBAction func thumbsUpButtonaPressed(sender: UIButton!) {
label.hidden = false
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.