Bonjour a toi.
Quand on utilise une
func textFieldDidBeginEditing
C’est que dans ta classe on utilise delegate.
. . . . . . . . . . . . . . . . . . . . . . . . .
Je te donne plus d’ information.
voici la routine pour KeyH
, , , , , , ,
texte override func viewWillLayoutSubviews() {
screenHeight = Int(UIScreen.main.bounds.height)
screenWidth = Int(UIScreen.main.bounds.width)
keyH = 222 // was 228
if screenWidth > 1000 || screenHeight > 1000 {
keyH = 400 // was 315
}
if screenWidth > 1350 || screenHeight > 1350 {
keyH = 470 // was 380
}
}
, , , , , , ,
// les var
var moveTf = 0
var moveTv = 0
var keyH = 100
var screenHeight = 0
var screenWidth = 0
, , , , , , , ,
Voici le problem, tu doit utiliser les delegate
si tu n’utilise pas les notifications
// Exp: ta classe doit avoir.
class ViewController: UIViewController, UITextFieldDelegate, UITextViewDelegate {
// très simple ajoute les textfield et si tu veut les textView pas
// nécessaire pour tes premier test.
//et maintenant tu doit utiliser cette class exp:
override func viewDidLoad() {
super.viewDidLoad()
tfList4.delegate = self // ou self.tfList4.delegate = self
tfList5.delegate = self
tfList6.delegate = self
tfList7.delegate = self
// voici je que j’aime comme tu voie je n’ai
// pas utiliser tfList1.delegate = self
// pour t’aider fait quelque test.
// seulement ceux que tu veut qui bouge
// ceux la tu les mets avec delegate
// si tfList1.delegate est completement en haut
// tu na pas a le faire bougé. Donc tu peut ne
// pas le mettre dans ta liste
// j’ai des app qui ont plus de 20 textfield
// et seulement 7 ou 8 que je veut utiliser
// du au clavier.
//Maintenant pour finir voici la routine pour
// remettre ton textField a sa place original
// toujours sans notification.
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
if moveTf != 0 {
self.view.frame = self.view.frame.offsetBy(dx: 0, dy: CGFloat(-moveTf))
UIView.commitAnimations()
}
moveTf = 0
return true
}
Voici une autre routine tres agreable pour le clavier quand
return ne veut pas fonctionner. Avec cette routinre tu tap
ou tu veut sur l’écran et le clavier s’enlève.
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
PS. noublie pas d’ajouté la routine que je t’ai envoyer.
func textFieldDidBeginEditing(_ textView: UITextView) {
Maintenant a toi de t’amuser