【发布时间】:2017-08-03 18:02:40
【问题描述】:
我需要在 UIButton 的按钮单击时打开键盘(不使用/用于 UITextField)。我试图通过覆盖变量canBecomeFirstResponder 来创建自定义按钮,但它不起作用。
还有其他方法吗?
注意:我想将 UIPIckerView 设置为关键板框架中 UIButton 的输入视图。
这是我的代码。
class RespondingButton: UIButton {
override var canBecomeFirstResponder: Bool {
return true
}
override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}
private func commonInit() {
// common init
}
}
在我的视图控制器中,我连接了按钮操作。
class TestViewController: UIViewController {
@IBAction func testBecomeFirstResponder(button: RespondingButton){
button.becomeFirstResponder() // Not working.
}
}
【问题讨论】:
-
你想用键盘来改变 UIPicker 显示的数据吗?
-
@Phyber 你可能知道,我们可以将 UIPickerView 设置为 UITextField 的 inputView,方法类似,我需要使用 UIButton 来完成
-
也许这很奇怪,但隐藏的文本字段是什么,并将其设置为第一响应者 - 就像没有其他东西对你有用。
-
@Retterdesdialogs,我有这个选择,但这是我让它发挥作用的最后选择。
标签: ios swift uibutton becomefirstresponder