-2
newishをSwiftに表示し、何か助けが必要なときにスクロールビューを上に移動します。キーボードが
画面上部にはタイトル、下部には更新ボタンがあり、中央にはTextField
があり、ScrollView
に埋め込まれています。キーボードが上がってくると、更新ボタンはうまくいきますが、下のほんの少しでもカバーしますTextField
。私のスクロール・ビューはページ全体をカバーしていないので、キーボードの上に移動して、選択されているテキスト・フィールドがカバーされていればビューに移動します。私はドキュメントのメソッドを見ているが、私はそれを自分で実装するのに十分ではない。誰かが私のために説明することができれば、それは素晴らしいだろう。私のコードは
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()
}
}