2011-03-10 25 views
1

我正在使用表格视图并使用不同的单元格大小,但是当我删除单元格时,它显示在常量位置上,而不是在单元格中间。我应该为自定义删除按钮位置做些什么?在UITABLE VIEW中更改删除按钮的位置

+0

aft删除按钮你只是重新加载tableview! – 2011-03-10 11:13:17

回答

1

这是真的哈克,但我发现这个代码片断而回:

- (void)willTransitionToState:(UITableViewCellStateMask)state { 

    [super willTransitionToState:state]; 

    if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask) { 

     for (UIView *subview in self.subviews) { 

      if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {    

       subview.hidden = YES; 
       subview.alpha = 0.0; 
      } 
     } 
    } 
} 

- (void)didTransitionToState:(UITableViewCellStateMask)state { 

    [super willTransitionToState:state]; 

    if (state == UITableViewCellStateShowingDeleteConfirmationMask || state == UITableViewCellStateDefaultMask) { 
     for (UIView *subview in self.subviews) { 

      if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) { 

       UIView *deleteButtonView = (UIView *)[subview.subviews objectAtIndex:0]; 
       CGRect f = deleteButtonView.frame; 
       f.origin.x -= 20; 
       deleteButtonView.frame = f; 

       subview.hidden = NO; 

       [UIView beginAnimations:@"anim" context:nil]; 
       subview.alpha = 1.0; 
       [UIView commitAnimations]; 
      } 
     } 
    } 
} 

基本上,你是在剥离子视图,直到找到删除按钮。我还建议不显示默认的删除按钮,并使用您自己的自定义删除按钮。

0

重新载入表viewWillAppear。它将在记录被删除后重新加载表格。

[super viewWillAppear:animated]; 
// [self.tableView reloadData ]; 
[tblSimpleTable reloadData];