Как только пользователь коснется ячейки, запускающей действие, я хочу отключить взаимодействие с пользователем, а затем снова включить взаимодействие с пользователем, когда действие завершится.Может кто-нибудь сказать мне, как это сделать?
Просто проверьте условие в методе делегата 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; }
или вы можете сделать selectionStyle, когда действие выполняется
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Просто добавьте переменную BOOL, которую вы установили в true, когда действие началось.Затем реализуйте метод -[tableView:willSelectRowAtIndexPath:] делегата таблицы, чтобы он возвращал nil, когда переменная в настоящий момент имеет значение true для этого пути индекса.
BOOL
-[tableView:willSelectRowAtIndexPath:]
nil