gpt4 book ai didi

iphone - 如果单元格是第一个响应者并且不在屏幕上,则不会调用UITableViewCell setEditing:animated

转载 作者:行者123 更新时间:2023-12-01 17:09:52 25 4
gpt4 key购买 nike

我有一个UITableViewCell的子类,添加了UITextField,可以在编辑模式下编辑单元格的内容。
在我的自定义单元实现中,我像这样覆盖了setEditing:

-(void)setEditing:(BOOL)editing animated:(BOOL)animated
{
if ([self.textField isFirstResponder])
[self.textField resignFirstResponder];
NSLog(@"%@",self.textLabel.text);
if (editing) {
self.textLabel.hidden = YES;
self.textField.hidden = NO;
}else{
self.textLabel.hidden = NO;
self.textField.hidden = YES;
}

[super setEditing:editing animated:animated];
}

发生的是,当我第一次调用setEditing时,它们都进入了编辑模式。但是,如果我尝试修改单元格,并且该单元格不在屏幕上,并且我点击“完成”按钮,则该单元格仍处于编辑模式。仅已离开屏幕的单元。如果在我点击“完成”按钮时在屏幕上可见,那么它就可以工作。

这是一个可以更好地描述问题的视频: video on Dropbox

最佳答案

您可以通过实现以下内容在UITableViewController子类中解决此问题:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated{    
[super setEditing:editing animated:animated];

//since setEditing isn't called on cells that are offscreen do this to ensure the keyboard is dismissed.
[self.view endEditing:editing];
}

关于iphone - 如果单元格是第一个响应者并且不在屏幕上,则不会调用UITableViewCell setEditing:animated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13549987/

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