我有一个表格,每个单元格包含一个标签和一个文本字段.问题是,当我去编辑最后一行时,键盘隐藏了表格的下半部分,我无法看到正在键入的内容.如何将界面移动到键盘上方,以便查看键入的内容?
谢谢,穆斯塔法
您将要注册viewController UIKeyboardDidShowNotification
和UIKeyboardWillHideNotification
事件.当你得到这些,你应该调整你的表格的界限; 键盘高度为170像素,因此只需适当缩小或增大表格边界,它应适当调整到键盘.
根据您的UI方案,此问题很复杂.在这里,我将讨论UITextField或UITextview驻留在UITableViewCell中的场景.
您需要使用NSNotificationCenter来检测UIKeyboardDidShowNotification事件.请参阅http://iosdevelopertips.com/user-interface/adjust-textfield-hidden-by-keyboard.html.您需要缩小UITableView框架大小,使其仅占用键盘未覆盖的屏幕区域.
如果您点击UITableViewCell,操作系统将自动将单元格定位在UITableView的查看区域内.但是当你点击UITextView或UITableViewCell时它就不会发生,即使它位于UITableViewCell中.
你需要打电话
[myTableView selectRowAtIndexPath:self.indexPath animated:YES scrollPosition:UITableViewScrollPositionBottom];`
以编程方式"点击"单元格.
如果您实现两个点,您将在键盘正上方看到UITextView/Field位置.请记住,UITableView/Field所在的UITableViewCell不能高于"未覆盖"区域.如果您不是这种情况,则有不同的方法,但我不会在此讨论.