启用按钮的用户交互 SWIFT

Enable user interaction of a button 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 ownerViewController 拖动到您想要连接的 UIButton
  4. select 您要连接的插座(在本例中为 button

如图所示

一旦就绪,您就可以在代码中自由使用启用按钮(以及更多),例如:

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

您可以阅读有关 IBOutlets 的更多信息here

这是another way to connect outlets(实际上我更喜欢这样连接插座,你一次性定义和连接)

希望对您有所帮助