В XCode 6.3.2
у меня есть 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
динамически возвращать true или false< /сильный> от 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()
но это не работает, как я хотел. Любая помощь будет оценена по достоинству.