Cha*_*ase 6 uibutton ios inputview swift
当用户点击UIButton时,我试图将UIDatePicker用作键盘。我能够使它与文本字段一起使用,但是我不喜欢如何显示光标,并且如果用户具有外部键盘,则用户可以输入任何文本。这是我的代码:
@IBAction func dateFieldStart(sender: UITextField) {
var datePickerStartView : UIDatePicker = UIDatePicker()
datePickerStartView.datePickerMode = UIDatePickerMode.Time
sender.inputView = datePickerStartView // error when sender is UIButton
}
Run Code Online (Sandbox Code Playgroud)
我尝试将发送方更改为UIButton,但在上面标记的行上给出了此错误:
Cannot assign to 'inputView' in 'sender'
Run Code Online (Sandbox Code Playgroud)
我已经尝试研究它,似乎没有人对此有问题。有谁知道如何使用UIButton触发UIDatePicker inputView或任何可能无法让用户键入的更好的东西?谢谢!
Bri*_*ian 10
这是原始问题的数年后,但对于可能正在寻找解决方案的任何人,您都可以继承 UIButton 并为 inputView 属性提供 getter 和 setter。确保在 setter 中调用 becomeFirstResponder 并覆盖 canBecomeFirstResponder。例如:
class MyButton: UIButton {
var myView: UIView? = UIView()
var toolBarView: UIView? = UIView()
override var inputView: UIView? {
get {
myView
}
set {
myView = newValue
becomeFirstResponder()
}
}
override var inputAccessoryView: UIView? {
get {
toolBarView
}
set {
toolBarView = newValue
}
}
override var canBecomeFirstResponder: Bool {
true
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6019 次 |
| 最近记录: |