通常view.endEditing(true)
は、常にiOSでキーボードを削除します。UIAlertControllerでキーボードを閉じるUITextField
は、しかし、これはUITextField
がself.present()
「EDモーダルview
すなわち、このself.addDoneButtonOnKeyboard
方法で
let alert = UIAlertController(title: _title, message: "Choose", preferredStyle: .alert)
let numberLabel = UILabel(frame: CGRect(x:10, y:0, width:90, height:20))
numberLabel.textColor = .black
numberLabel.textAlignment = NSTextAlignment.left
numberLabel.font = UIFont(name: titleLabel.font.fontName, size: 16)
numberLabel.font = UIFont.boldSystemFont(ofSize: titleLabel.font.pointSize)
numberLabel.text = "Quantity"
let quantityField = UITextField(frame: CGRect(x:100, y:0, width:140, height:25))
quantityField.layer.borderWidth = 1
quantityField.keyboardType = .numberPad
quantityField.layer.borderColor = UIColor.lightGray.cgColor
quantityField.delegate = self
self.addDoneButtonOnKeyboard(textField: quantityField)
self.present(alert, animated: true, completion: nil)
今UIAlertController
例内部のフォーム私はこれの一部である場合のように、常に真ではありませんニフティコード
func addDoneButtonOnKeyboard(textField: UITextField){
let doneToolbar: UIToolbar = UIToolbar(frame: CGRect(x:0, y:0, width:320, height:50))
doneToolbar.barStyle = UIBarStyle.default
let flexSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
let done: UIBarButtonItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.done, target: self, action: #selector(ViewControllerDisplay.doneButtonAction(_:)))
let items = NSMutableArray()
items.add(flexSpace)
items.add(done)
doneToolbar.items = items as? [UIBarButtonItem]
doneToolbar.sizeToFit()
textField.inputAccessoryView = doneToolbar
}
@objc func doneButtonAction(_ btn: UIBarButtonItem){
view.endEditing(true)
}
この目的はすべて、「完了」kアイパッドボタンが表示されます。します。実際にそれは素晴らしい、私はまた、doneButtonAction()
イベントをキャプチャすることができます素晴らしいですが、私はUIBarButtonItem
をキャプチャしているので、私はUITextField.resignFirstResponder()
メソッドを使用することはできません、私はそれが動作することを知っている。私は私がやりたいことは、コールalert.endEditting(true)
ですが、私は、サブビューを巡回しようとした、UIAlertController
の任意の出現のためのスクリーニングが、そのよう
をself.present
動作しません
を「ビュー」を使用する必要があり、誰でも助けることができます私はこのキーボードをアラートビューから外しますか?