2013-02-27 79 views
4

我想阻止要重新排序的單元格。在TableView的特定單元格中重新排序塊

例如:

我有4行的實現代碼如下,但不希望是第一個單元格可以重新排序。

這可能嗎?

我試着使用:

if(indexPath.row == 0) 
{ 
    [cell setEditing:NO animated:NO]; 
} 

但不起作用。

謝謝。

回答

7

我找到了答案!

您可以使用來自UITableViewDelegate的方法targetIndexPathForMoveFromRowAtIndexPath

-(NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath{ 
    if (proposedDestinationIndexPath.row == 0) { 
     return sourceIndexPath; 
    } 
    return proposedDestinationIndexPath; 

}

1

你UITableViewDataSource應該實現-(BOOL)tableView:canMoveRowAtIndexPath:並返回NO的indexPath.row == 0

- (BOOL)tableView:canMoveRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return (indexPath.row != 0); 
} 

UITableViewDataSource documentation

+0

我已經試過了...但沒有工作... – 2013-02-27 17:32:57

+0

即細胞無法重新排序,但是當你在編輯按鈕單擊重新排序其他細胞,它改變了位置也是......我希望它是靜態的。 – 2013-02-27 17:36:09

相關問題