2016-04-12 7 views
-2

newishをSwiftに表示し、何か助けが必要なときにスクロールビューを上に移動します。キーボードが

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

私は、このシナリオではUIScrollViewのを使用して、我々は、ビューのフレームの位置をアニメーション化して移動することができ、不要な追加の層、であると信じて、私は、このためにUIScrollViewのを使用していない
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() 
} 
} 

答えて

関連する問題