Bonjour a tous.
Pour débuté j’ai essayer de trouver la leçon du cour IOS-10 ou IOS-11
de Maxime qui traite de ce problème sans souvenir.
Voici le code que J’utilise.
Fonctionne très bien avec xcode8, et les iphone et ipad.
Avec le xcode9 tout va bien avec le SIMULATEUR iphone X
ipad iphone 1/3 2/3 enfin pour résumé excellent.
LE PROBLÈME rien ne fonctionne correctement avec
un vrai ipad 9.7 ou 10.5 et probablement avec tout les
ipad et iphone très déguelasse.
func textFieldDidBeginEditing(_ textField: UITextField) {
let tfInfo : CGRect = self.view.window!.convert(textField.bounds,from: textField)
moveTf = screenHeight - (Int(tfInfo.minY)) - (Int(tfInfo.height))
print("\n\(moveTf) et keyH=\(keyH) and diff=")
if moveTf < keyH {
moveTf = moveTf - keyH
print("\(moveTf)\n")
let moveDuration = 0.3
UIView.setAnimationBeginsFromCurrentState(true)
UIView.setAnimationDuration(moveDuration)
view.frame = view.frame.offsetBy(dx: 0, dy: CGFloat(moveTf))
UIView.commitAnimations()
textField.autocorrectionType = UITextAutocorrectionType.no
super.viewDidAppear(true)
} else {
moveTf = 0
}
}`
Avez-vous une idée de ce qui arrive.
J’ai installé des print comme debug et le travail des réponses est
bon. Il semble que…
view.frame = view.frame.offsetBy(dx: 0, dy: CGFloat(moveTf))
UIView.commitAnimations()
textField.autocorrectionType = UITextAutocorrectionType.no
super.viewDidAppear(true)
…ne fonctionne plus du tout.
Merci de votre aide
PS j’ai déjà des applications qui sont sur apple store et fonctionne bien
avec cette routine, en IOS-11. et avant avec IOS-10.