当我点击一个单元格时,didSelectRowAtIndexPath
没有被调用。当我按住一个单元格时,它会突出显示单元格,但是一旦我将手指移开,高光将消失。当我用两根手指敲击时 - 一根手指放在一个牢房上,一根手指放在另一根牢房上 - 然后didSelectRowAtIndexPath
最终被召唤,一个牢房仍然突出显示。
我删除了所有自定义表格视图单元格代码,并将其转换为具有库存UITableViewCell
的完全通用表格。仍然是同样的问题。
是,已设置数据源和委托。不,没有任何奇怪的委托方法调用deselectRowAtIndexPath
。
这是表格视图的代码。
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 75.0f, self.view.frame.size.width, self.view.frame.size.height - 75.0f) style:UITableViewStylePlain];
[self.view addSubview:self.tableView];
self.tableView.dataSource = self;
self.tableView.delegate = self;
self.tableView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
self.tableView.allowsSelection = YES;
self.tableView.separatorColor = [UIColor clearColor];
self.tableView.backgroundColor = _backgroundColor;
这是我将单元格剥离的代码。
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = @"Hello!";
return cell;
我已经完成了所有didSelectRowAtIndexPath
讨论,并尝试了所有推荐的解决方案。而且我找不到任何人提到我在这里看到的问题,其中didSelectRowAtIndexPath被调用,它只是间歇性的,或者你必须同时使用两个手指。
答案 0 :(得分:0)
确保方法
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
}
在.h
中的视图控制器中@interface YourViewController : UIViewController<UITableViewDelegate>