启用按钮的用户交互 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
文件中的按钮。这可以通过多种方式完成,但是如果您像上面那样声明了一个变量,您可以:
- 转到你的故事板
- 在文档大纲中按住控制按钮
- 在按住控制按钮的同时,您可以从
files owner
或 ViewController
拖动到您想要连接的 UIButton
- select 您要连接的插座(在本例中为
button
)
如图所示
一旦就绪,您就可以在代码中自由使用启用按钮(以及更多),例如:
func viewDidLoad() {
super.viewDidLoad()
button.enabled = false
}
您可以阅读有关 IBOutlets 的更多信息here
这是another way to connect outlets(实际上我更喜欢这样连接插座,你一次性定义和连接)
希望对您有所帮助
好的,让我们假设下面创建的按钮是灰色的,用户交互被禁用。
如何从其他地方启用该按钮。
我知道如何从按钮函数内部禁用按钮,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
- select 您要连接的插座(在本例中为
button
)
如图所示
一旦就绪,您就可以在代码中自由使用启用按钮(以及更多),例如:
func viewDidLoad() {
super.viewDidLoad()
button.enabled = false
}
您可以阅读有关 IBOutlets 的更多信息here
这是another way to connect outlets(实际上我更喜欢这样连接插座,你一次性定义和连接)
希望对您有所帮助