启用用户与按钮的交互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
文件。这可以通过多种方式来实现,但如果你已经宣布像上面的变量,你可以:
- 去你的故事板
- 在文档大纲按住控制钮
- 同时按住控制按钮,你从你的
files owner
或ViewController
到UIButton
拖你想连接到 - 选择出口,你想连接到(
button
在这种情况下)
如图所示
一旦到位,您可以自由使用在你的代码启用按钮(以及更多),例如:
func viewDidLoad() {
super.viewDidLoad()
button.enabled = false
}
你可以阅读更多关于IBOutlets here
这里是another way to connect outlets(这是我比较喜欢实际连接插座,您可以定义并连接一气呵成)
希望有帮助
非常感谢!这解决了我的问题 –
不客气。当你从iOS或OS C开发出发时,Outlets有点奇怪,但是一旦你学习了控制拖拽的东西,它就是连接你的UI和你的代码的简单方法。很高兴你解决了 – pbodsk