Ios 如何禁用特定文本字段上的键盘,但允许选择器作为输入查看?
我在视图控制器中有两个文本字段,一个使用pickerView作为输入,另一个使用键盘,问题是键盘仍然在pickerView下启用。我已经设置好,当使用底部的文本字段时,键盘会向上移动视图以使文本字段可见,但当我单击顶部的文本字段(使用pickerView)时,它也会向上移动视图,而您无法看到该文本字段上的输入。我只需要使用顶部文本字段上的pickerView,以便在使用该文本字段时视图不会向上移动。 下面是我用来向上移动视图的内容:Ios 如何禁用特定文本字段上的键盘,但允许选择器作为输入查看?,ios,swift,cocoa-touch,uitextfield,uipickerview,Ios,Swift,Cocoa Touch,Uitextfield,Uipickerview,我在视图控制器中有两个文本字段,一个使用pickerView作为输入,另一个使用键盘,问题是键盘仍然在pickerView下启用。我已经设置好,当使用底部的文本字段时,键盘会向上移动视图以使文本字段可见,但当我单击顶部的文本字段(使用pickerView)时,它也会向上移动视图,而您无法看到该文本字段上的输入。我只需要使用顶部文本字段上的pickerView,以便在使用该文本字段时视图不会向上移动。 下面是我用来向上移动视图的内容: func keyboardWillShow(notificat
func keyboardWillShow(notification: NSNotification) {
bottomConstraint.constant = 200
topConstraint.constant = -200
UIView.animateWithDuration(0.3) {
self.view.layoutIfNeeded()
}
}
func keyboardWillHide(notification: NSNotification) {
bottomConstraint.constant = 8
topConstraint.constant = 10
UIView.animateWithDuration(0.3) {
self.view.layoutIfNeeded()
}
}
以下是我在viewDidLoad中设置pickerView的步骤:(colorCodePicker是以pickerView作为输入的文本字段)
我已经尝试了这里的大多数解决方案,但没有任何有效的方法,例如,如果我禁用用户输入,我就不能调用pickerView,还尝试在文本字段上插入一个清除按钮,就像其中一个建议一样,但没有成功。或者,当底部文本字段处于活动状态时,只向上移动视图的解决方案,有什么想法吗?我知道这不是确切的答案,但如果您只使用IQKeyboardManager,您不需要在应用程序的任何场景中考虑这些人员
在
中,键盘将显示和键盘将隐藏检查是否为colorCodePicker.isFirstResponder()
,以决定是否更改约束。可以快速修复以节省时间,但我建议使用UITableViewController
构建表单页面。它自动进行键盘处理。是的,您需要创建包含UITextField
s的UITableViewCell
s,但我认为这是可行的
我不喜欢使用独立的UITableViewController
,因为它们没有UIView
作为自己的self.view
,因此我将它们嵌入到我的视图控制器中,并在切换期间访问其tableView
。即使它不是表视图
的数据源
/委托
,它也能处理键盘。@zcui93正是我所需要的,谢谢它工作得很好
let pickerView = UIPickerView()
pickerView.delegate = self
pickerView.backgroundColor = UIColor.whiteColor()
colorCodePicker.inputView = pickerView