Как отключить выбор отдельных ячеек UITableView? - PullRequest
2 голосов
/ 12 июня 2011

Как только пользователь коснется ячейки, запускающей действие, я хочу отключить взаимодействие с пользователем, а затем снова включить взаимодействие с пользователем, когда действие завершится.Может кто-нибудь сказать мне, как это сделать?

Ответы [ 3 ]

8 голосов
/ 12 июня 2011

Просто проверьте условие в методе делегата TableView:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *categoryIdentifier = @"Category";
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

    //Way to stop to choose the cell selection
     if(indexpath.row == 0){
         cell.selectionStyle = UITableViewCellSelectionStyleNone;
         // OR 
         cell.userInteractionEnabled=False;
     }
     //while rest of the cells will remain active, i.e Touchable

    return cell;

}
1 голос
/ 12 июня 2011

или вы можете сделать selectionStyle, когда действие выполняется

    cell.selectionStyle = UITableViewCellSelectionStyleNone;
1 голос
/ 12 июня 2011

Просто добавьте переменную BOOL, которую вы установили в true, когда действие началось.Затем реализуйте метод -[tableView:willSelectRowAtIndexPath:] делегата таблицы, чтобы он возвращал nil, когда переменная в настоящий момент имеет значение true для этого пути индекса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...