2011-08-08 44 views
3

我使用SectionIndexTitlesForTableview方法設置Tableview的標題。當我滑動一個單元格時,刪除按鈕出現在這個看起來很奇怪的標題旁邊。當刪除按鈕出現時如何隱藏這個indexTitles並顯示刪除按鈕消失的時間。單元格上出現刪除按鈕時隱藏sectionindextitles

enter image description here

回答

0
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath 
     { 
     _someBoolean = YES; 
     [tableView reloadData]; 
     return YES; 
     } 

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 
      if (editingStyle == UITableViewCellEditingStyleDelete) { 
       _someBoolean = NO; 
       [tableView reloadData]; 
      }  
     } 


- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView 
     { 
       return _someBoolean ? nil : _yourTitlesArray; 
     } 
1

這可能有助於

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView 
{ 
    return [tableView isEditing] ? nil: @[@"A",@"B",@"C"]; 
} 

- (void)setEditing:(BOOL)editing 
{ 
    [super setEditing:editing]; 
    [self reloadSectionIndexTitles]; 
} 
2

inEditMode方法隱藏當一個表將被編輯

-(void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath{ 
    [self inEditMode:YES]; 
} 

-(void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath{ 
    [self inEditMode:NO]; 
} 
//on self.editButtonItem click 
-(void)setEditing:(BOOL)editing animated:(BOOL)animated{ 
    [super setEditing:editing animated:animated]; 
    [self inEditMode:editing]; 
} 

-(void)inEditMode:(BOOL)inEditMode{ 
    if (inEditMode) { //hide index while in edit mode 
     self.tableView.sectionIndexMinimumDisplayRowCount = NSIntegerMax; 
    }else{ 
     self.tableView.sectionIndexMinimumDisplayRowCount = NSIntegerMin; 
    } 
    [self.tableView reloadSectionIndexTitles]; 
} 
指數
相關問題