2015-12-16 37 views
5

UITableViewには7つのセルがあり、すべてのセルにはテキストフィールドがあります。キーボードが現れると、最後のセルが隠れるので、キーボードが消えるまで何が入力されたかを見るのは非常に困難です。スクロールでキーボードが表示されるときにUITableViewをスクロールします

キーボードを表示したときにどのようにこのスクロールができるのか教えていただけますか?この問題はありませんか?

+1

、答えは公式ドキュメントにだけUIScrollViewのサブクラス提供されたテーブルビューを使用することができますがhttps://developer.apple.com/library/ios/documentation/StringsTextFonts/ Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html#// apple_ref/doc/uid/TP40009542-CH5-SW1 – Andrea

+0

これは目的にあったものです。将来誰かがそれを必要とすれば、私は今すぐ迅速なバージョンを持っています。 addObserver(self、selector:セレクタ( "keyboardWasShown:")、名前:UIKeyboardDidShowNotification、オブジェクト:なし); NSNotificationCenter.defaultCenter()。 addObserver(self、selector:セレクタ( "keyboardWillHide:")、名前:UIKeyboardWillHideNotification、オブジェクト:nil); NSNotificationCenter.defaultCenter()。 – neena

+1

、次にこのような関数の本体があります:func keyboardWasShown(送信者:NSNotification){ let info:NSDictionary = sender.userInfo! let kbSize:CGSize =(info.objectForKey(UIKeyboardFrameBeginUserInfoKey)?. CGRectValue.size)! contentInsetsを聞かせ:UIEdgeInsets = UIEdgeInsetsMake(0.0,0.0、kbSize.height、0.0) tableView.contentInset = contentInsets tableView.scrollIndicatorInsets = contentInsets } – neena

答えて

0

使用するクラスを使用する方法https://github.com/michaeltyson/TPKeyboardAvoiding

のthiese簡単なセット:、UITableViewControllerクラスで使用する場合

をプロジェクトにTPKeyboardAvoidingTableView.mとTPKeyboardAvoidingTableView.hをドロップし、中にあなたのUITableView TPKeyboardAvoidingTableViewを作りますxib。コントローラでxibを使用していない場合は、UITableViewをカスタムクラスにする簡単な方法がないことを知っています。最小の抵抗のパスはxibを作成することです。

5

試してみてください、この1:

func textFieldDidBeginEditing(textField: UITextField) { 
    tableView.setContentOffset(CGPointMake(0, textField.center.y-60), animated: true) 
} 
+0

興味深い考えですが、すべての可能な場合に正しく機能しません – rommex

関連する問題