24
キーボードが入力フィールドを覆っている場合にのみ、ビューを上に移動します
iPhone用の入力画面を作ろうとしています。画面にはいくつかの入力フィールドがあります。それらのほとんどは画面上部にありますが、2つのフィールドが下部にあります。ユーザーが画面下部のテキストを編集しようとすると、キーボードがポップアップして画面を覆います。これが発生したときに画面を上に移動する簡単な解決策を見つけましたが、その結果、画面が常に上に移動し、ユーザーがそれらを編集しようとすると、画面上部のフィールドが手の届かないところに移動します。 下部のフィールドが編集されたときにのみ画面を移動させる方法はありますか? 私はここで見つけたこのコードを使用しました: override func viewDidLoad() { super.viewDidLoad() NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil) NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardWillHideNotification, object: nil) } func keyboardWillShow(sender: NSNotification) { self.view.frame.origin.y -= 150 } func keyboardWillHide(sender: NSNotification) { self.view.frame.origin.y += 150 }