Swift 启用按钮的用户交互

Swift 启用按钮的用户交互,swift,uiview,ibaction,user-interaction,Swift,Uiview,Ibaction,User Interaction,好的,假设下面创建的按钮变灰,用户交互被禁用 如何从其他地方启用按钮 我知道如何从按钮函数内部禁用按钮,sender.enabled=false,但我不想从那里禁用它 我想从按钮功能之外重新启用用户交互 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() override func didReceiveMe

好的,假设下面创建的按钮变灰,用户交互被禁用

如何从其他地方启用按钮

我知道如何从按钮函数内部禁用按钮,sender.enabled=false,但我不想从那里禁用它

我想从按钮功能之外重新启用用户交互

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func loadButton(sender: UIButton) {
      //i wan to enable interaction of this button via override func and         NSUserDefaults
    }
}

在iOS和OSX开发中,您有所谓的
出口
,它们是指向UI元素的变量。你可以阅读更多关于他们的信息

要声明出口,请在变量前面加上
@IBOutlet
,如下所示:

@ibvar按钮:UIButton

然后,您需要将插座连接到
xib
文件中的按钮。这可以通过几种方式实现,但如果您已经声明了如上所述的变量,则可以:

  • 转到你的故事板
  • 在文档大纲中,按住控制按钮
  • 按住控制按钮的同时,将
    文件所有者
    视图控制器
    拖动到要连接到的
    ui按钮
  • 选择要连接到的插座(
    按钮在此情况下为
  • 如图所示

    一旦设置到位,您就可以在代码中自由使用enable按钮(以及更多),例如:

    func viewDidLoad() {
        super.viewDidLoad()
        button.enabled = false
    }
    
    您可以阅读更多关于IBOutlets的信息

    这里是(这是我喜欢连接插座的方式,实际上,您可以一次定义和连接)


    希望这有帮助

    不客气。当你开始在iOS或osc开发时,Outlets有点奇怪,但是一旦你学会了控制拖动的方法,这是一种连接UI和代码的简单方法。很高兴你把它解决了