Iphone 重新加载时编辑控件消失
有点麻烦 我有一个分组模式的UITableView。该表被设置为始终处于编辑模式-工作正常。我的所有行都可以删除。行是缩进的,我的所有UITableViewCellEditControl都显示得很好 问题是,当一行实际被删除时,我会更新数据源,然后调用:Iphone 重新加载时编辑控件消失,iphone,objective-c,uitableview,Iphone,Objective C,Uitableview,有点麻烦 我有一个分组模式的UITableView。该表被设置为始终处于编辑模式-工作正常。我的所有行都可以删除。行是缩进的,我的所有UITableViewCellEditControl都显示得很好 问题是,当一行实际被删除时,我会更新数据源,然后调用: deleteRowsAtIndexPaths: reloadRowsAtIndexPaths: //needs to get called because of table aesthetics 重新加载后(我也尝试了简单的重新加载数据),我
deleteRowsAtIndexPaths:
reloadRowsAtIndexPaths: //needs to get called because of table aesthetics
重新加载后(我也尝试了简单的重新加载数据),我的UITableViewCellEditControls(带负号的红色圆圈等)都消失了!行仍然缩进,但它们已消失
我在这篇帖子上尝试过这个建议:
但是没有运气
任何帮助都将不胜感激 不看任何代码,我有一些建议 根据苹果的:在重新加载数据下,它说: 调用此方法以重新加载用于构造表的所有数据,包括单元格、节页眉和页脚、索引数组等。为了提高效率,表视图只重新显示那些可见的行。如果表格因重新加载而收缩,则会调整偏移。当表视图希望表视图完全重新加载其数据时,表视图的委托或数据源调用此方法。不应在插入或删除行的方法中调用它,尤其是在通过调用BeginUpdate和EndUpdate实现的动画块中 大宗报价 插入和删除行时不应调用它 从表面上看,您允许它们删除单个单元格,因此,我假设已经实现了以下方法:
tableView:editingStyleForRowAtIndexPath:
和tableView:committeeditingstyle:forRowAtIndexPath:
,在您的committeeditingstyle中,您应该只调用delete方法,如下所示:
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
这将消除重新加载数据的需要。如果您不想显示任何动画,您可以使用noanimation枚举器,而不是我在示例中显示的淡入淡出
但是,如果您仍然认为每次删除单元格后都需要重新加载数据,可以使用performSelector:afterDelay:
希望这篇文章能有所帮助 不看任何代码,我有一些建议 根据苹果的:在重新加载数据下,它说: 调用此方法以重新加载用于构造表的所有数据,包括单元格、节页眉和页脚、索引数组等。为了提高效率,表视图只重新显示那些可见的行。如果表格因重新加载而收缩,则会调整偏移。当表视图希望表视图完全重新加载其数据时,表视图的委托或数据源调用此方法。不应在插入或删除行的方法中调用它,尤其是在通过调用BeginUpdate和EndUpdate实现的动画块中 大宗报价 插入和删除行时不应调用它 从表面上看,您允许它们删除单个单元格,因此,我假设已经实现了以下方法:
tableView:editingStyleForRowAtIndexPath:
和tableView:committeeditingstyle:forRowAtIndexPath:
,在您的committeeditingstyle中,您应该只调用delete方法,如下所示:
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
这将消除重新加载数据的需要。如果您不想显示任何动画,您可以使用noanimation枚举器,而不是我在示例中显示的淡入淡出
但是,如果您仍然认为每次删除单元格后都需要重新加载数据,可以使用performSelector:afterDelay:
希望这篇文章能有所帮助 我正在使用自定义UITableViewCell,并认为这可能是问题的一部分。。。但是不行。我只是改变了使用普通的旧UITableViewCell时的情况,编辑控件仍然消失。我正在使用自定义UITableViewCell,并认为这可能是问题的一部分。。。但是不行。我只是用普通的旧UITableViewCell改变了一些事情,编辑控件仍然消失了。嗨,Bittu,谢谢你提供的信息!!我没有意识到在插入/删除行时不应该进行重新加载调用,这回答了为什么表有问题。问题是:我正在完全定制分组uitableview的外观,其中包括阴影顶行、中间行和底行。由于美观要求,顶行和底行(特别是因为阴影)需要比中间行大10px。现在,如果用户删除顶行,第二行现在成为顶行-这意味着它的高度和背景图像需要更新。。。有没有更简单的方法?你可以走两条路。使用KVO,您可以监视顶部和底部阴影的大小,并相应地进行调整。此外,可能有一些方法可以将部分阴影作为节页眉和页脚的一部分,因此它看起来像是附加到第一行和最后一行。只是想尝试一下。嗨,比图,谢谢你的信息!!我没有意识到在插入/删除行时不应该进行重新加载调用,这回答了为什么表有问题。问题是:我正在完全定制分组uitableview的外观,其中包括阴影顶行、中间行和底行。由于美观要求,顶行和底行(特别是因为阴影)需要比中间行大10px。现在,如果用户删除顶行,第二行现在成为顶行-这意味着它的高度和背景图像需要更新。。。有没有更简单的方法?你可以走两条路。使用KVO,您可以监视顶部和底部阴影的大小,并相应地进行调整。此外,可能有一些方法可以将部分阴影作为节页眉和页脚的一部分,因此它看起来像是附加到第一行和最后一行。扔