Ошибка UIPickerView
Всем привет! Подскажите, пожалуйста, такой вопрос. Начал изучать swift UIKit и столкнулся с проблемой по UIPickerView. Пикер выходит изначально за рамки текcnabkl, после выбора определенного числа, например. Пикер становится в текстabkl. С чtм это может быть связано? Помогите пожалуйста)) Ниже код
class ViewController: UIViewController {
let textF1 = UITextField()
let pickerView1 = UIPickerView()
override func viewDidLoad() {
super.viewDidLoad()
createTF()
createPicerView()
toolBarForAll()
[textF1, pickerView1].forEach {
view.addSubview($0)
}
constr()
}
func createTF() {
textF1.placeholder = "wwwwww"
textF1.textColor = .black
textF1.font = .systemFont(ofSize: 18)
textF1.inputView = pickerView1
}
func createPicerView() {
pickerView1.delegate = self
pickerView1.dataSource = self
pickerView1.tag = 0
}
func toolBarForAll() {
let toolBar = UIToolbar()
toolBar.sizeToFit()
let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(doneAction))
textF1.inputAccessoryView = toolBar
let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
toolBar.setItems([flexSpace, doneButton], animated: true)
}
@objc func doneAction(sender: Any) {
view.endEditing(true)
}
func constr() {
[textF1].forEach {
$0.translatesAutoresizingMaskIntoConstraints = false
}
NSLayoutConstraint.activate([
textF1.centerXAnchor.constraint(equalTo: view.centerXAnchor),
textF1.centerYAnchor.constraint(equalTo: view.centerYAnchor),
textF1.widthAnchor.constraint(equalToConstant: 200),
textF1.heightAnchor.constraint(equalToConstant: 30),
])
}
}
extension ViewController: UIPickerViewDelegate {
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
switch pickerView.tag {
case 0:
let result = "\(row)"
return result
default:
return ""
}
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
switch pickerView.tag {
case 0:
textF1.text = "\(row)"
default:
break
}
}
}
extension ViewController: UIPickerViewDataSource {
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
switch pickerView.tag {
case 0:
return 51
default:
return 1
}
}
}