UITableView
には7つのセルがあり、すべてのセルにはテキストフィールドがあります。キーボードが現れると、最後のセルが隠れるので、キーボードが消えるまで何が入力されたかを見るのは非常に困難です。スクロールでキーボードが表示されるときにUITableViewをスクロールします
キーボードを表示したときにどのようにこのスクロールができるのか教えていただけますか?この問題はありませんか?
UITableView
には7つのセルがあり、すべてのセルにはテキストフィールドがあります。キーボードが現れると、最後のセルが隠れるので、キーボードが消えるまで何が入力されたかを見るのは非常に困難です。スクロールでキーボードが表示されるときにUITableViewをスクロールします
キーボードを表示したときにどのようにこのスクロールができるのか教えていただけますか?この問題はありませんか?
使用するクラスを使用する方法https://github.com/michaeltyson/TPKeyboardAvoiding
のthiese簡単なセット:、UITableViewController
クラスで使用する場合
をプロジェクトにTPKeyboardAvoidingTableView.mとTPKeyboardAvoidingTableView.hをドロップし、中にあなたのUITableView TPKeyboardAvoidingTableViewを作りますxib。コントローラでxibを使用していない場合は、UITableViewをカスタムクラスにする簡単な方法がないことを知っています。最小の抵抗のパスはxibを作成することです。
試してみてください、この1:
func textFieldDidBeginEditing(textField: UITextField) {
tableView.setContentOffset(CGPointMake(0, textField.center.y-60), animated: true)
}
興味深い考えですが、すべての可能な場合に正しく機能しません – rommex
、答えは公式ドキュメントにだけUIScrollViewのサブクラス提供されたテーブルビューを使用することができますがhttps://developer.apple.com/library/ios/documentation/StringsTextFonts/ Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html#// apple_ref/doc/uid/TP40009542-CH5-SW1 – Andrea
これは目的にあったものです。将来誰かがそれを必要とすれば、私は今すぐ迅速なバージョンを持っています。 addObserver(self、selector:セレクタ( "keyboardWasShown:")、名前:UIKeyboardDidShowNotification、オブジェクト:なし); NSNotificationCenter.defaultCenter()。 addObserver(self、selector:セレクタ( "keyboardWillHide:")、名前:UIKeyboardWillHideNotification、オブジェクト:nil); NSNotificationCenter.defaultCenter()。 – neena
、次にこのような関数の本体があります: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