2012-07-08 79 views

回答

-1

您是否嘗試過實施tableView:editingStyleForRowAtIndexPath: UITableViewDelegate的方法,並返回UITableViewCellEditingStyleNone以表示您不想顯示刪除控制的單元格?

+1

是我沒有,但這種方法是沒有得到調用。 – Herman 2012-07-09 20:07:32

+0

編輯期間啓用多項選擇時,不會調用editingStyleForRowAtIndexPath。 – shim 2015-08-25 21:09:03

2

爲了不允許多行選擇您應該使用tableView:shouldIndentWhileEditingRowAtIndexPath:混合cell.selectionStyle = UITableViewCellSelectionStyleNone

這裏是從我的代碼示例:

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath*)indexPath { 
    if (indexPath.row < 4) { 
     return YES; 
    } else { 
     return NO; 
    } 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    // (...) configure cell 

    if (indexPath.row < 4) { 
     cell.selectionStyle = UITableViewCellSelectionStyleBlue; 
    } else { 
     cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    } 
} 
相關問題