gpt4 book ai didi

ios - iOS中动态改变UITableViewCell的位置

转载 作者:行者123 更新时间:2023-11-29 02:27:00 24 4
gpt4 key购买 nike

我的应用程序中有一个自定义 tableView。在这个自定义单元格中,我有一个文本字段。当用户点击此文本字段时,将出现键盘。此时我想更改 Tableview 中所选单元格的位置。我附上了实际输出的快照,还附上了我预期的快照。

图像 1 - 普通屏幕,它包含自定义 UITableView。

enter image description here

当我选择文本字段(在上图中标记为红色圆圈)时,键盘会像图 2 中那样出现。

enter image description here

但我除了将所选文本字段的位置更改为键盘的上方之外,如图 3 所示。

enter image description here

请帮我解决这个问题。

最佳答案

如果代码中只有一个 textField,简单的方法可能是:

-向键盘外观添加观察者:

  [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardAppear) name:UIKeyboardWillShowNotification object:nil];

-及其方法:

  -(void)keyboardAppear
{
[self.tableView setContentOffset:CGPointMake(0, yOfYourTextField)];
}

如果您有多个文本字段,最好的选择是对所有这些文本字段实现委托(delegate),并且其委托(delegate)滚动 tableView。

 -(void)textFieldDidBeginEditing:(UITextField *)textField
{
[self.tableView setContentOffset:CGPointMake(0, textField.tag * 40 -70) animated:YES];
//.. more if you need
}

如果您在 UIViewController 中使用 UITableViewController 而不是 tableView,则滚动行为是自动的。

关于ios - iOS中动态改变UITableViewCell的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27397220/

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