使tableviewcell向上滚动显示键盘

mbh*_*mbh 5 iphone xcode uitableview uitextfield

我有一个带UITextField的UITableViewCell.在编辑模式下,当键盘出现时,我尝试编辑的行会​​被键盘重叠.理想情况下,该行应向上滚动,以便我可以编辑单元格.

我已经搜索了stackoverflow,并找到了几种不同的解决方案.它们中的大多数都与计算有关,可以向上移动或滚动视图.现在有一个名为TaggedLocations的苹果示例代码.他们有完全相同的行为.并且没有代码执行任何复杂的计算来移动视图.

我也彻底检查了IB界面,也找不到任何花哨的东西.如果您下载并运行代码,它会将行精确地推到一个完美的位置进行编辑.

有没有人知道TaggedLocations项目中有哪些技巧可以如此优雅?项目位置:http: //developer.apple.com/library/ios/#samplecode/TaggedLocations/Introduction/Intro.html%23//apple_ref/doc/uid/DTS40008914

对于我所指的复杂计算,请查看以下线程,例如:

如何在键盘存在时使UITextField向上移动?

谢谢

mbh*_*mbh 1

我解决了这个问题。最初我有

TabBarController
- UIViewController
-- UINavigationController
--- UITableViewController

- UIViewController
- -UINavigationController
--- UITableViewController

对于这种层次结构,当显示键盘时,表格单元格不会滚动。但是,如果我将层次结构更改为以下内容,则无需任何其他代码即可很好地进行汇总!

TabBarController
- UINavigationController
-- UITableViewController

- UINavigationController
-- UITableViewController

当我复制苹果代码时,我不知何故搞乱了层次结构。现在切换到新的层次结构时,它工作得很好。无需额外的代码或计算。