Предотвращение переупорядочения ячеек для определенных ячеек в iPhone SDK - PullRequest
1 голос
/ 24 февраля 2010

У меня есть 2 раздела в моем UITableView. Я хочу, чтобы 2-я секция была подвижной, а 1-я секция ячеек - нет. Указание canEditRowAtIndexPath и canMoveRowAtIndexPath не помогает - ячейки первого раздела, хотя и не отображают элементы управления перетаскиванием, по-прежнему меняются местами, если перетащить ячейку из второго раздела. Есть ли обходной путь для этого?

1 Ответ

2 голосов
/ 24 февраля 2010

Попробуйте реализовать метод targetIndexPathForMoveFromRowAtIndexPath и принудительно вернуть строку из второго раздела на исходное место, если пользователь попытается переместить его в первый раздел:

- (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath
{
    if (proposedDestinationIndexPath.section == 0)
    {
        return sourceIndexPath;
    }
    else 
    {
        return proposedDestinationIndexPath;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...