phu*_*phu 6 uitableview uikit uisplitviewcontroller ios
当你进行子类化时UITableViewController,通常会"免费"获得某些行为.例如,当表视图中的文本字段成为第一响应者时,视图控制器会自动滚动自身以确保该字段完全可见.
但是,当表视图控制器是a的详细视图控制器时UISplitViewController,此自动滚动不再考虑键盘的存在.表视图控制器仍将自动滚动以将文本字段保持在屏幕的边界内,但它不再滚动以保持字段不被键盘覆盖.
您可以使用Xcode的"Master-Detail Application"模板创建一个新项目,并用表视图控制器替换详细视图控制器来自行测试,该控制器显示包含文本字段的单元格.
我想了解为什么在这种情况下自动滚动会停止计算键盘,如果可能的话,如何纠正它而不必自己复制自动滚动功能.顺便说一下,这与覆盖无关viewWillAppear(如此处关于表视图控制器自动滚动的其他一些问题).
小智 0
我知道已经晚了,但这可能会帮助其他遇到此问题的人。当我在 UITableViewCell 中添加文本字段时,这种情况也发生在我身上。我所做的是删除
superViewWilAppear:动画
viewWillAppear 方法中的一行。所以该方法如下所示
-(void)viewWillAppear:(BOOL)animated{
//[superViewWilAppear:animated];
Your rest of code
}
Run Code Online (Sandbox Code Playgroud)
但这的作用是它完全删除了自动滚动,并且当 textField 开始编辑时,您必须管理 UITableView 的滚动。不知道这是否解决了您的问题,但它将省去您考虑不同设备的键盘高度的麻烦,并且最好自行管理。我也不确定这是否是正确的方法,但它对我有用。
| 归档时间: |
|
| 查看次数: |
456 次 |
| 最近记录: |