繁体   English   中英

如何禁用 swift 中的 anyObject 按钮中的按钮

[英]How to disable a button within a anyObject Button in swift

好的,所以我希望能够在其内部禁用按钮。 因此,当我按下按钮时,它会自行禁用。

import UIKit

class ViewController: UIViewController {

    @IBOutlet var buttons: [UIButton]!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    @IBAction func but(_ sender: AnyObject) {
//this code doesn't seem to work at all, and I don't know why
        (sender as AnyObject).isEnabled = false
    }
   
}

当我尝试执行此操作时,它会给我一条错误消息“无法分配给'@lvalue Bool'类型的不可变表达式?”

那么有没有其他方法可以禁用此按钮

据推测,您已将 Interface Builder 中的IBAction连接到UIButton 因此,您可以将 function 签名更改为:

@IBAction func but(_ sender: UIButton) {
  sender.isEnabled = false
}

AnyObject没有名为isEnabled的属性,这就是您之前的代码失败的原因。

在我使用此代码的按钮内

@IBAction func but(_ sender: AnyObject) {
        var disableMyButton = sender as? UIButton
        disableMyButton?.isEnabled = false
       
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM