gpt4 book ai didi

objective-c - UITableViewController 和 UITextField 键盘

转载 作者:技术小花猫 更新时间:2023-10-29 10:54:39 24 4
gpt4 key购买 nike

我有一个带有分组静态 UITableView 的 UITableViewController。我正在为 Storyboard上的静态 TableView 定义单元格。其中一个单元格中有一个文本字段。当调用此文本字段时,键盘会弹出,但是,tableview 不会像通常在 table view controller 上那样自动调整大小。所以现在键盘部分覆盖了文本字段,我无法向上滚动。

我的理解是,当您使用 UITableViewController 和 tableview 时,可视区域应在调用键盘时自动缩小。它在我的应用程序的其他部分确实按预期工作,只是不适用于此静态 TableView 。它不适用于静态表吗?还有什么我想念的吗?有解决这个问题的简单方法吗?

谢谢

最佳答案

回答

与静态单元格无关。他们应该工作。

如果您的 Controller 已经是一个 UITableViewController,请检查您是否使用了 viewWillAppear 方法。如果这样做,则必须调用 [super viewWillAppear:YES] 才能使“自动行为”起作用。

-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:YES]; // This line is needed for the 'auto slide up'
// Do other stuff
}

这个问题很容易出现,因为 Controller 的样板代码没有随 viewWillAppear 方法调用一起提供,如果您在 Controller 中定义它,就会覆盖它。

额外信息

查看此链接。

Apple Table View Programming Guide

Note: UITableViewController has new capabilities in iOS 3.0. A table-view controller supports inline editing of table-view rows; if, for example, rows have embedded text fields in editing mode, it scrolls the row being edited above the virtual keyboard that is displayed.... blah....

重要的一点

The UITableViewController class implements the foregoing behavior by overriding loadView, viewWillAppear:, and other methods inherited from UIViewController. In your subclass of UITableViewController, you may also override these methods to acquire specialized behavior. If you do override these methods, be sure to invoke the superclass implementation of the method, usually as the first method call, to get the default behavior.

关于objective-c - UITableViewController 和 UITextField 键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11313951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com