2016-04-12 9 views
-2

zeigt, neu zu Swift ist und Hilfe benötigt.Lassen Sie meine Bildlaufansicht nach oben bewegen, wenn die Tastatur

Ich habe einen Bildschirm mit einem Titel an der Spitze und einem Update-Button an der Unterseite und ein paar TextField in der Mitte, die in der ScrollView eingebettet sind. Wenn die Tastatur auftaucht, deckt sie den Aktualisierungsknopf ab, der in Ordnung ist, aber sie deckt auch die unteren paar TextField ab. Meine Bildlaufansicht deckt nicht die gesamte Seite ab, sodass ich sie über die Tastatur nach oben verschieben möchte und das ausgewählte Textfeld in die Ansicht verschoben wird, wenn es bedeckt ist. Ich habe Methoden in der Dokumentation gesehen, aber ich bekomme es nicht genug, um es selbst zu implementieren. Wenn mir jemand erklären könnte, wäre das großartig. Mein Code ist unten

import UIKit 

class DetailsViewController: UIViewController { 
@IBOutlet weak var updateButton: UIButton! 
@IBOutlet weak var nameTextField: UITextField! 
@IBOutlet weak var businessTextField: UITextField! 
@IBOutlet weak var unitTextField: UITextField! 
@IBOutlet weak var streetNumberTextField: UITextField! 
@IBOutlet weak var streetNameTextField: UITextField! 
@IBOutlet weak var suburbTextField: UITextField! 
@IBOutlet weak var postcodeTextField: UITextField! 
@IBOutlet weak var stateTextField: UITextField! 
@IBOutlet weak var emailTextField: UITextField! 
@IBOutlet weak var phoneTextField: UITextField! 
@IBOutlet weak var detailsScrollView: UIScrollView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    updateButton.layer.borderWidth = 2 
    updateButton.layer.borderColor = UIColor.whiteColor().CGColor 

    // Do any additional setup after loading the view. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
}  

@IBAction func update() { 
    dismissViewControllerAnimated(true, completion: nil) 
} 

@IBAction func name() { 
    businessTextField.becomeFirstResponder() 
} 

@IBAction func business() { 
    unitTextField.becomeFirstResponder() 
} 

@IBAction func unit() { 
    streetNumberTextField.becomeFirstResponder() 
} 

@IBAction func streetNumber() { 
    streetNameTextField.becomeFirstResponder() 
} 

@IBAction func streetName() { 
    suburbTextField.becomeFirstResponder() 
} 

@IBAction func suburb() { 
    postcodeTextField.becomeFirstResponder() 
} 

@IBAction func postcode() { 
    stateTextField.becomeFirstResponder() 
} 

@IBAction func state() { 
    emailTextField.becomeFirstResponder() 
} 

@IBAction func email() { 
    phoneTextField.becomeFirstResponder() 
} 

@IBAction func phone() { 
    phoneTextField.resignFirstResponder() 
} 
} 

Antwort

0

ich kein UIScrollView dafür verwendet habe, wie ich in diesem Szenario mit einem UIScrollView glauben ist eine unnötige zusätzliche Schicht, wenn wir die Position des Rahmens der Ansicht animieren und bewegen können . Aber hier ist eine Verbindung zu einem Kernwort, das ich für diese Art von Dingen häufig gemacht und benutzt habe. https://gist.github.com/RichFell/fd389b1641c0b3a5fca9

Verwandte Themen