並べ替えるセルをブロックしたい。
例えば:
4 行のテーブルビューがありますが、最初のセルの順序を変更したくありません。
それは可能ですか?
私は使用しようとしました:
if(indexPath.row == 0)
{
[cell setEditing:NO animated:NO];
}
しかし、うまくいきません。
ありがとう。
並べ替えるセルをブロックしたい。
例えば:
4 行のテーブルビューがありますが、最初のセルの順序を変更したくありません。
それは可能ですか?
私は使用しようとしました:
if(indexPath.row == 0)
{
[cell setEditing:NO animated:NO];
}
しかし、うまくいきません。
ありがとう。
答えが見つかりました!
UITableViewDelegate からメソッドtargetIndexPathForMoveFromRowAtIndexPathを使用できます。
-(NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath{
if (proposedDestinationIndexPath.row == 0) {
return sourceIndexPath;
}
return proposedDestinationIndexPath;
}
UITableViewDataSource は-(BOOL)tableView:canMoveRowAtIndexPath:
、indexPath.row == 0 に対して実装し、NO を返す必要があります。
- (BOOL)tableView:canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
return (indexPath.row != 0);
}