0
我需要在我的应用程序中选择正确的单元格后禁用选择其他单元格。
所以,如果用户选择错误的答案,他可以选择其他单元格,但是如果选择正确的答案,他不能这样做。
帮我解决我的问题。 我的代码是:在didSelectRowAtIndexPath后禁用选择其他单元格
- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSInteger rowNumber = [indexPath row];
NSArray *array = [self getAnswers];
if (rowNumber == 0)
{
cell.contentView.backgroundColor = [UIColor whiteColor];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
if (rowNumber == [array[array.count - 2] intValue])
{
cell.contentView.backgroundColor = [UIColor colorWithRed:0.0 green:1.0 blue:0.0 alpha:1.0];
[_rightAnswersArray addObject:[NSNumber numberWithInt:_index+1]];
NSLog(@"rightAnswersArray = %@",_rightAnswersArray);
for (rowNumber = 1; rowNumber < array.count - 1; rowNumber++)
{
cell.userInteractionEnabled = NO;
NSLog(@"%hhd",cell.userInteractionEnabled);
}
}
else
{
cell.contentView.backgroundColor = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0];
[_wrongAnswersArray addObject:[NSNumber numberWithInt:_index+1]];
NSLog(@"wrongAnswersArray = %@",_wrongAnswersArray);
[self showComment];
}
}
UPD:解决此代码。
if (rowNumber == [array[array.count - 2] intValue])
{
cell.contentView.backgroundColor = [UIColor colorWithRed:0.0 green:1.0 blue:0.0 alpha:1.0];
[_rightAnswersArray addObject:[NSNumber numberWithInt:_index+1]];
NSLog(@"rightAnswersArray = %@",_rightAnswersArray);
for (rowNumber = 1; rowNumber < array.count - 1; rowNumber++)
self.tableView.allowsSelection = NO;
}