【问题标题】:Distinction between one UITableView displaying different array in segmented control. How to implement swipe for delete only in one segment一个 UITableView 在分段控件中显示不同数组的区别。如何仅在一个段中实现滑动删除
【发布时间】:2014-12-06 06:43:00
【问题描述】:

我有一个 UITableView、两个数组和分段控件。当分段控件索引为“1”时,UITableView 显示来自第一个数组的数据,当索引为“2”时 - 第二个数组。我只想在第二段中滑动以删除功能。我怎样才能做到这一点?我正在考虑

中的一些“if 语句”
tableView(tableView: UITableView, commitEditingStyle editingStyle:
UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) 

但我不知道把它们放在哪里。

【问题讨论】:

    标签: ios iphone uitableview swift uisegmentedcontrol


    【解决方案1】:

    如果您使用commitEditingstyle,那么当您滑动时,您的单元格仍会显示“删除”按钮。请改用editingStyleForRowAtIndexPath:。放入 if 语句以测试选择了哪个段,并相应地返回UITableViewCellEditingStyle.None(禁用滑动删除)或.Delete(启用滑动删除)。如果您希望能够通过将表格视图置于编辑模式来删除单元格,那么还要测试tableView.editing 以确定是使用.Delete 还是.None

    【讨论】:

    • 谢谢你,很好的答案,但它只有在添加 commitEditingstyle 函数时才有效。只有这样我才能滑动手指并查看删除。为什么?它正在工作,但我不明白如何。
    • 抱歉,是的,您还需要实现 commitEditingStyle。 editingStyleForRowAtIndexPath 在您滑动手指时由表格视图调用,以确定它是否应该显示删除按钮。 commitEditingStyle 仅在您按下删除按钮时被调用,以便您可以实现必要的代码来删除该行。
    猜你喜欢
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 2012-10-30
    相关资源
    最近更新 更多