启用用户与按钮的交互SWIFT

问题描述:

好吧,让我们假设下面创建的按钮变灰,禁用用户交互。启用用户与按钮的交互SWIFT

如何从其他地方启用按钮。

我知道如何禁用按钮函数内的按钮,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和OS X开发中,您有所谓的outlets,它们是指向UI元素的变量。你可以阅读更多关于他们here

要声明一个出口,你前缀@IBOutlet你的变量,像这样:

@IBOutlet weak var button: UIButton!

,然后你需要你的插座连接到该按钮在你xib文件。这可以通过多种方式来实现,但如果你已经宣布像上面的变量,你可以:

  1. 去你的故事板
  2. 在文档大纲按住控制钮
  3. 同时按住控制按钮,你从你的files ownerViewControllerUIButton拖你想连接到
  4. 选择出口,你想连接到(button在这种情况下)

如图所示

One way to connect an outlet

一旦到位,您可以自由使用在你的代码启用按钮(以及更多),例如:

func viewDidLoad() { 
    super.viewDidLoad() 
    button.enabled = false 
} 

你可以阅读更多关于IBOutlets here

这里是another way to connect outlets(这是我比较喜欢实际连接插座,您可以定义并连接一气呵成)

希望有帮助

+0

非常感谢!这解决了我的问题 –

+0

不客气。当你从iOS或OS C开发出发时,Outlets有点奇怪,但是一旦你学习了控制拖拽的东西,它就是连接你的UI和你的代码的简单方法。很高兴你解决了 – pbodsk