いくつかのテキストフィールドは、ユーザーの編集TextField.Andが、私はそれがMove view with keyboard using Swift移動ビュー。(キーボードのサイズ&&ビュー背面に移動問題)
私のコアコードを参照しようとすると、ビューを上に移動したいUIView.Iにあります。以下の通りです:keyboard.Thenは後に黒のフィールドトップが存在します、キーボードがショーでkeyboardSize.heightよりも大きい非表示に
1. keyboardSize.height:
//MARK: Properties
@IBOutlet weak var userAccountTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var confirmPasswordTextField: UITextField!
@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var phoneTextField: UITextField!
//MARK: Callback
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillShow, object: self.view.window)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillHide, object: self.view.window)
}
func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue.size {
if self.view.frame.origin.y == 0{
//self.view.frame.origin.y -= keyboardSize.height
self.view.frame.origin.y -= 150
}
}
}
func keyboardWillHide(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue.size {
if self.view.frame.origin.y != 0{
//self.view.frame.origin.y += keyboardSize.height
self.view.frame.origin.y += 150
}
}
}
は二つの問題がありますキーボード隠す。だから私は定数を使う必要があります。
2.キーボードの表示後にビューが上に移動すると、それは良いです。しかし、文字列を入力するか、他のTextFiled.Itをクリックするとビューが下に移動します。これらのTextFieldをScrollView.Butに配置すれば、それは理由です。下の画像のように: enter image description here
ご協力いただければ幸いです。
私は、これらのfactly.Iは単なる過去なかったでしたそれは私の質問にとって重要ではないということを確認してください。ありがとう。 – WangYang