【发布时间】:2017-08-18 10:01:00
【问题描述】:
我想实现一个简单的应用程序,但我遇到了一些麻烦。我添加了 textField 和 PickerView。当我在 textField 上进行选项卡时,出现了 PickerView。但是标准键盘也出现了(我不想要它)。当我再次在 textField 上进行选项卡时,PickerView 不会出现。我怎样才能收到这个问题?非常感谢!
这是我的代码:
import UIKit
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITextFieldDelegate {
@IBOutlet weak var pickerView1: UIPickerView!
@IBOutlet weak var textField1: UITextField!
var age = ["8", "18", "28", "38", "48"]
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return age.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pickerView == pickerView1 {
}
return age[row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if pickerView == pickerView1 {
self.textField1.text = self.age[row]
self.pickerView1.isHidden = true
}
}
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == self.textField1 {
self.pickerView1.isHidden = false
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
【问题讨论】:
-
刚刚在 UIPickerView 上设置了 textfield 的属性 didselect textfield.regisonfirstresponder()
-
这是一个有用的库来做同样的事情。 IQDropDownTextField 或使用 self.textfiled.inputView = self.pickerView;希望这项工作
-
我应该在代码的哪一部分添加这个?请给我看看这张照片好吗?