热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

删除行UITableView索引问题

如何解决《删除行UITableView索引问题》经验,为你挑选了1个好方法。

我正在使用下面的代码删除tableview中的一行.首先,我从数组中删除对象,然后使用以下代码从tableview中删除:

let i = IndexPath(item: rowNum, section: 0)
myArray.remove(at: rowNum)
myTableView.deleteRows(at: [i], with: UITableViewRowAnimation.left)

但是,如果我之后删除了另一行,则不会删除我想要删除的行.问题是,即使我删除了tableview中的第一项(例如索引0),单击新的第一行将返回索引1 ...这是错误的,并删除第二行.删除第一行后,顶部的新行应该具有0的索引.

我可以通过这样做来解决这个问题:

mTableView.reloadData()

但这似乎错了......我不应该再次重新加载所有数据.

我还可以做些什么?

编辑:我在tableviewcell中有一个自定义按钮我要按删除行 - 不要刷卡.



1> Dhiru..:

问题

您遇到的问题是您在按钮上设置的标记,删除行时按钮标记不会更改,因为它的所有单元格都没有重新加载.我想你正在设置标签cellforRowIndexpath 你尝试将标签放在按钮上tableWillDisplayCell

要么

最好的方法是在下面.

你可以通过IndexPath 其他方式获得

假设您的视图层次结构是

UITableViewCell-> contentView - >按钮

在你按钮点击方法

 if let cell = sender.superview?.superview as? UITableviewCell{
        let indexPath = myTableView.indexPath(for: cell)
    // Now delete the table cell
    myArray.remove(at: indexPath.row)
    myTableView.beginUpdates()
    myTableView.deleteRows(at: [indexPath], with: UITableViewRowAnimation.left)
    myTableView.endUpdates()
}

我希望这对你有用.


推荐阅读
author-avatar
继续微笑丶保持硪的骄傲_195
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有