如何让UITableView的整个单元响应水龙头?

时间:2014-02-05 05:40:21

标签: ios iphone objective-c uitableview

这就是我的视图控制器的样子:

enter image description here

当我运行应用程序时,只有小信息图标会响应水龙头。忽略单元格中任何其他位置的点击。如何使整个单元格可点击?

我甚至不希望信息图标在那里,但它是我可以进入详细视图的唯一方式,目前...如果我将单元格的附件设置更改为“无”以摆脱信息/ “详细信息披露”图标,然后单元格根本不会响应点击。

修改
感谢您的回复。为了回答你的一些问题,我确实有一个cellForRowAtIndexPath方法,它正在被调用。但是,我也使用seque将我的单元格连接到下一个控制器,但是只有在我点击信息图标时才会调用prepareForSeque:sender方法,而不是在我点击单元格时...

我目前正试图找出为什么在点击单元格时没有调用prepareForSeque方法(就像我过去使用表格视图时那样)...

我看过prepareForSeque doesn't fire(正如iMani所建议的那样),但我的细胞有一个标识符。

我还查看了PrepareForSeque not called/fired,其中讨论了手动调用performSegueWithIdentifier:sender。但是,当我使用表格视图时,我从来没有必要手动调用它,过去我的单元格仍然触发了prepareForSeque方法......

4 个答案:

答案 0 :(得分:0)

只需实现表视图委托方法,并确保将表视图与委托连接:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

你可以在这里找到更多的委托方法:

Apple Docs

答案 1 :(得分:0)

您可以使用UITableView的委托方法,该方法将在单击时响应整个单元格

实现下面的委托方法,然后再将tableview setdelegate设置为self并将setdatasource设置为self并在接口类(.h)中实现UITableViewDelegate,UITableViewDataSource

-(void) tableView:(UITableView *)_tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

答案 2 :(得分:0)

在tableview xib中查看..?并且不要将单元格的附件设置为“无”

enter image description here

最后实现didSelectRowAtIndexPath:委托方法来处理选择。

答案 3 :(得分:0)

问题是我创造了错误类型的seque。 this question的修复程序也修复了我在这里看到的行为。