如何在滑动行并显示“删除”按钮时隐藏SectionIndex

时间:2013-08-08 13:18:39

标签: ios uitableview

只有在行的“删除”按钮可见时才能隐藏UITableView的SectionIndex栏吗?

  1. 滑动行
  2. 出现删除按钮,sectionIndex消失
  3. 向后滑动行或按下按钮
  4. 删除按钮消失,或删除行,并返回sectionIndex
  5. 感谢

2 个答案:

答案 0 :(得分:0)

1)创建带有委托的自定义单元格,包含表视图;

2)使用

- (void)willTransitionToState:(UITableViewCellStateMask)state NS_AVAILABLE_IOS(3_0);
- (void)didTransitionToState:(UITableViewCellStateMask)state NS_AVAILABLE_IOS(3_0); 

用于发送消息以委托更改状态;

答案 1 :(得分:0)

您需要覆盖以下UITableViewDelegate方法。这对我很有用:

-(void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath{
    headerHeight = 0.0f;
    NSInteger sectionCount = self.theTableView.numberOfSections;
    NSRange range = NSMakeRange(0, sectionCount);
    [self.theTableView reloadSections:[NSIndexSet indexSetWithIndexesInRange:range] withRowAnimation:UITableViewRowAnimationAutomatic];
}

-(void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath{
    headerHeight = 30.0f;
    NSInteger sectionCount = self.theTableView.numberOfSections;
    NSRange range = NSMakeRange(0, sectionCount);
    [self.theTableView reloadSections:[NSIndexSet indexSetWithIndexesInRange:range] withRowAnimation:UITableViewRowAnimationAutomatic];
}

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return headerHeight;
}