2012-06-29 29 views
0

我有一個UITableView,其中我允許用戶重新排序單元格。所有的單元格可以重新排序,除了最上面的一行,它必須始終保持最上面一行。iOS - 防止用戶拖拽可排序的UITableViewCell到頂行

我已經使用了canMoveRowAtIndexPath方法來防止頂行可移動。但是,我看不到阻止用戶拖拽任何其他行並將它們放在頂行之上的方法,從而打破了我的最高行要求。

我該如何阻止用戶能夠拖拽頂行上方的其他行?

謝謝。

回答

1

有一個UITableViewDelegate方法,允許您修改目標索引路徑,如果它不符合您的要求。我認爲這應該工作:

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

完美,謝謝伊恩 – whatdoesitallmean

相關問題