在XCode 6.3.2
殘疾人,我有一個的UITextField:斯威夫特:如何使用UISwitch控制的UITextField啓用或委託
@IBOutlet weak var uiswitchControlledTextField: UITextField!
我現在用的是UISwitch(名爲mySwitch
)來控制其開啓或以下面的方式禁用狀態:
@IBOutlet weak var mySwitch: UISwitch!
mySwitch.addTarget(self, action: Selector("stateChanged:"), forControlEvents: UIControlEvents.ValueChanged)
//callback below:
func stateChanged(switchState: UISwitch) {
uiswitchControlledTextField.enabled = switchState.on
}
上述效果很好,不過,我期待嘗試,如果有可能創建一個UITextFieldDelegate控制以同樣的方式在上述的UITextField。到目前爲止,我已經通過實施textFieldShouldBeginEditing
,其中我想返回false禁用的UITextField以下,但我不知道如何讓UISwitch
動態地從textFieldShouldBeginEditing
import Foundation
import UIKit
class SwitchControlledTextFieldDelegate: NSObject, UITextFieldDelegate {
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
return false; //do not show keyboard or cursor
}
}
返回
真或
假
在ViewController中,我嘗試設置
self.uiswitchControlledTextField.delegate = SwitchControlledTextFieldDelegate()
但我希望這是行不通的。任何幫助,將不勝感激。
感謝,分取。但是當UI開關關閉時,如何啓用UITextField?我是否將其代表重新分配給其他人? – TonyGW