【问题标题】:Edit Mode Delete Spinner Icon for Specific TableView Rows特定 TableView 行的编辑模式删除微调器图标
【发布时间】:2010-05-12 21:18:45
【问题描述】:

我有一个分组的表格视图。每个部分有三行。我需要能够一次删除一个部分。使用标准编辑模式,我可以让它工作。但是,删除图标会显示在每个单元格的左侧,而不仅仅是每个部分的第一行。

有没有办法抑制除第一行之外的所有行的小微调器图标?

我希望有一种无需子类化的简单方法。

这里有一个截图来帮助可视化它:http://picasaweb.google.com/lh/photo/ll-EJY5ACw7oqHH1xKBQ8w?feat=directlink

【问题讨论】:

    标签: iphone uitableview editmode


    【解决方案1】:

    试试这个:

    - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
        if(indexPath.row == 0) {
            return UITableViewCellEditingStyleDelete;
        } else {
            return UITableViewCellEditingStyleNone;
        }
    }
    

    【讨论】:

      【解决方案2】:

      创建一个包含UILabel 和自定义UIButton 作为子视图的父UIView,而不是删除行。将此父视图设置为section header view

      该按钮应连接以触发删除行的方法,例如,翻转该部分的BOOL 状态标志,然后重新加载表:

      - (void) deleteMySection:(id)sender {
          self.showMySection = NO;
          [tableView reloadData];
      }
      

      您的-numberOfSectionsInTableView: 委托方法将根据此布尔标志的状态相应地调整其输出,例如

      - (NSInteger) numberOfSectionsInTableView:(UITableView *)tv {
          return ((showMySection) ? numberOfSections : numberOfSections - 1);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-30
        相关资源
        最近更新 更多