ich mit UI-Tests in XCode nur gestartet 7 und treffen dieses Problem:Wie Tastatur in Swift App während UI-Tests verstecken
ich Text in ein Textfeld eingeben muß und dann auf eine Schaltfläche klicken. Leider ist diese Schaltfläche hinter der Tastatur versteckt, die beim Eingeben von Text in das Textfeld erschien. XCode versucht zu scrollen, um es sichtbar zu machen, aber meine Ansicht ist nicht scrollbar, so dass es fehlschlägt.
Meine aktuelle Lösung ist dies:
let textField = app.textFields["placeholder"]
textField.tap()
textField.typeText("my text")
app.childrenMatchingType(.Window).elementBoundByIndex(0).tap() // hide keyboard
app.buttons["hidden button"].tap()
ich das tun kann, weil mein Viewcontroller ist berührt abfangen:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
view.endEditing(false)
super.touchesBegan(touches, withEvent: event)
}
Ich bin nicht wirklich glücklich über meine Lösung, gibt es eine andere Art und Weise, wie die Tastatur während des UI-Tests verstecken?
Wenn u Problem haben mit Tastatur-Taste verbirgt, kann u nur die ganze Sicht Push-up mit 'setContentOffset' bis die Schaltfläche ist sichtbar, es spielt keine Rolle, ob Ihre Ansicht scrollbar ist oder nicht – Tj3n
1.Wenn Sie nicht auf eine Schaltfläche zugreifen können, wenn die Tastatur sichtbar ist, ist das nicht ein UX-Problem? 2. Dies sind nur Tests. Tests werden voraussichtlich Hacky-Code haben, so dass ich nicht sehe, was ist dein Problem hier :) Lass es einfach, wenn es funktioniert. –