Je souhaite afficher un UIView personnalisé au-dessus de mon clavier, lorsque mon champ de texte devient le premier répondeur.Puis-je afficher à la fois le clavier et la vue d'entrée pendant que textField devient le premier répondeur?
Cependant, il semble que je peux afficher la vue et le clavier les deux en même temps?
est-il un moyen de le surmonter?
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
phoneInputTextField.becomeFirstResponder()
NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardNotification), name: NSNotification.Name.UIKeyboardWillChangeFrame , object: nil)
}
func handleKeyboardNotification(notification: NSNotification) {
guard let userInfo = notification.userInfo,
let frameValue = userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue
else { return }
let customView = UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: frameValue.cgRectValue.width + 20))
customView.backgroundColor = UIColor.black
phoneInputTextField.inputView = customView
}
Ce code affiche uniquement le clavier.
D'abord, le '.inputView' * * remplace le clavier , donc vous ne pouvez pas montrer les deux en même temps de toute façon ... voulez-vous réellement '.inputAccessoryView'? – DonMag