我有一个带有分组静态UITableView的UITableViewController.我在故事板上为我的静态表视图定义单元格.其中一个单元格中有一个文本字段.当调用此文本字段时,键盘会弹出,但是,表视图不会像通常在表视图控制器上那样自动调整大小.所以现在键盘部分覆盖文本区域,我无法向上滚动.
我的理解是,当您使用UITableViewController和tableview时,可调区域应该在调用键盘时自动缩小.它确实在我的应用程序的其他部分中工作,而不是使用此静态表视图.它不适用于静态表吗?还有其他我想念的东西吗?有没有简单的方法来解决这个问题?
谢谢
Dam*_* Aw 51
回答
它与静态细胞无关.他们应该工作.
如果您的控制器已经是UITableViewController,请检查您是否使用了该方法viewWillAppear.如果你这样做,你必须打电话[super viewWillAppear:YES]让'自动行为'工作.
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:YES]; // This line is needed for the 'auto slide up'
// Do other stuff
}
Run Code Online (Sandbox Code Playgroud)
这个问题很容易出现,因为控制器的样板代码没有附带viewWillAppear方法调用,如果在控制器中定义它,则覆盖它.
额外的信息
看看这个链接.
注意:UITableViewController在iOS 3.0中具有新功能.表视图控制器支持对表视图行进行内联编辑; 例如,如果行在编辑模式下嵌入了文本字段,它会将正在编辑的行滚动到显示的虚拟键盘上方....等等....
重要的一点
UITableViewController类通过重写loadView,viewWillAppear:和从UIViewController继承的其他方法来实现上述行为.在UITableViewController的子类中,您还可以覆盖这些方法以获取特殊行为.如果您确实覆盖了这些方法,请确保通常作为第一个方法调用来调用方法的超类实现,以获取默认行为.
| 归档时间: |
|
| 查看次数: |
6361 次 |
| 最近记录: |