如果我有两个自定义UITextField子类,如
Class AlphaField: UITextField {
self.keyboardType = UIKeyboardType.alphabet
}
Class NumberField: UITextField {
self.keyboardType = UIKeyboardType.numberPad
}然后,我可以根据UITextField中的语句将其中一种类型分配给viewDidLoad吗?例如:
@IBOutlet weak var someTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
if someBool {
someTextField = AlphaField
} else {
someTextField = NumberField
}
}我应该补充上面只是一个例子。我有理由使用子类,而不是仅仅更改UIKeyboardType。
发布于 2016-09-29 23:15:32
当然,那会管用的。当然,您需要正确地初始化它们:
if someBool {
someTextField = AlphaField(frame: someRect)
} else {
someTextField = NumberField(frame: someRect)
}
self.view.addSubview(someTextField)这是因为someTextField是一个UITextField,可以指向UITextField的任何子类。
请注意,由于您是以编程方式创建文本字段,因此没有理由使someTextField成为输出。
https://stackoverflow.com/questions/39781385
复制相似问题