Iphone 使tableviewcell在显示键盘上向上滚动
我有一个UITableViewCell和UITextField。在编辑模式下,当键盘打开时,我试图编辑的行被键盘重叠。理想情况下,行应该向上滚动,以便我可以编辑单元格 我彻底搜索了stackoverflow,找到了几种不同的解决方案。其中大多数都与向上移动或滚动视图的计算有关。现在有一个来自苹果的示例代码,名为TaggedLocations。他们有完全相同的行为。没有代码执行任何复杂的计算来向上移动视图 我还彻底检查了IB接口,也没有发现任何新奇的东西。如果您下载并运行代码,它会漂亮地将行推到一个完美的编辑位置 有人知道TaggedLocations项目中有什么诀窍可以做到这一点吗?项目地点: 对于我所指的复杂计算,请查看以下线程:Iphone 使tableviewcell在显示键盘上向上滚动,iphone,xcode,uitableview,uitextfield,Iphone,Xcode,Uitableview,Uitextfield,我有一个UITableViewCell和UITextField。在编辑模式下,当键盘打开时,我试图编辑的行被键盘重叠。理想情况下,行应该向上滚动,以便我可以编辑单元格 我彻底搜索了stackoverflow,找到了几种不同的解决方案。其中大多数都与向上移动或滚动视图的计算有关。现在有一个来自苹果的示例代码,名为TaggedLocations。他们有完全相同的行为。没有代码执行任何复杂的计算来向上移动视图 我还彻底检查了IB接口,也没有发现任何新奇的东西。如果您下载并运行代码,它会漂亮地将行推到一
谢谢RootViewController.m中的这一行是导致滚动的原因:
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
把它放在你的cellforrowatinexpath:
方法中,它应该会工作。我解决了这个问题。
起初我有
TabBarController-UIViewController
--UINavigationController
---UITableViewController
-UIViewController
--UINavigationController
---UITableViewController
在这种层次结构中,当显示键盘时,表格单元格不会向上滚动。但是,如果我将层次结构更改为以下内容,则无需任何额外代码即可进行汇总 TabBarController
-UINavigationController
--UITableViewController
-UINavigationController
--UITableViewController
当我复制苹果的代码时,我不知怎么搞砸了层次结构。现在切换到新的层次结构,它工作得很好。
无需额外代码或计算。如果您有自己的控制器层次结构,则将显示调用视图。。。然后,当键盘出现时,表格视图将自动滚动单元格以显示出来。我对Apple的示例代码标记位置也有类似的混淆,尽管在我的例子中,我意识到我的表格视图是由UIViewController子类而不是UITableViewController子类管理的,UITableViewController显然为您管理滚动。它工作得很好,所以很多复杂的计算是不必要的。我真希望我没有花那么多时间去弄清楚它们
我不明白你所描述的等级制度为什么重要。只要UITableViewController管理文本字段,它就会自动处理滚动以避免键盘。我试过了。不是这样。这只适用于添加新事件。如果您看到,滚动也可以用于编辑。此外,标记选择也具有类似的行为,并且没有您提到的滚动代码。此外,它不在CellForRowatineXpath:方法中。很抱歉,
CellForRowatineXpath:
可能不是最好的方法。让类符合UITextFieldDelegate,然后在textfieldDiBeginEdit
中以某种方式获取textfield所在行的索引路径,然后在该方法中调用上面的代码行,怎么样?我并没有真正深入研究苹果的代码,但“ScrollToRowatineXpath”似乎正是你想要的……抱歉,这不是正确的代码。它不起作用。即使你发表评论,你也会得到同样的行为。我有完全相同的问题,但是我有你提到的解决你问题的继承人。然而,我的问题仍然存在。你有没有遇到其他可能导致它发生的问题?谢谢。你的回答真的很有帮助。另外,如果您不能从层次结构中删除UIViewController,可以创建一个UINavigationController,将tableview控制器作为其根,并将导航控制器的视图作为子视图添加到VC中。希望它能帮助一些人!。