iPhone - UITableView没有在3.0 SDK中调用didSelectRowAtIndexPath方法

时间:2009-06-30 00:03:47

标签: iphone iphone-sdk-3.0 uitableview didselectrowatindexpath

我有一个iPhone应用程序,可以在SDK的2.x版本中正常运行。当我升级到3.0时,不再调用didSelectRowAtIndexPath方法,因此用户突出显示行时的操作不会发生。这是一个自定义的UITableViewCell,它与UITableView位于一个单独的nib中。数据源和数据委托都在Interface Builder中正确连接,如果我将其编译为2.21,则可以正常工作。在3.0版本上,单击该行不会执行任何操作。

This question提到了一个类似的问题,但他们提到了另一个接受点击的第一响应者。我没有任何第一响应者方法连接到单元格或表格。

如何让表格在2.x和3.0中正常工作?自定义单元格有一些标签和图像,我只想点击一行并显示该特定行的详细信息。

2 个答案:

答案 0 :(得分:1)

你可能不会太喜欢这个答案......

在2.2中有效的一些东西在3.0中不起作用(你已经知道了)。一些API已经改变等等......

然而,有些事情是不同的,因为它们从来不应该起作用(根据Apple的说法)。

我无法确定其中一项更改是您的问题,但可能是。与笔尖和属性有关的细微差别肯定会受到影响。

我的建议是:

首先,检查你的笔尖连接,也许你有一个连接缺失2.2让你逃脱,但3.0不会。

接下来,使用简单的表格视图构建测试应用程序,看看是否可以使其工作。如果是这样,您应该开始将代码中的复杂性添加到测试应用程序中,直到它中断。

不幸的是,这可能需要一些时间。您也可以发布一些代码,看看我们能找到什么。

答案 1 :(得分:0)

我有同样的问题。我花了好几个小时尝试你能想象到的任何东西。有趣的是它最终没有成为我的代码的问题。

我正在使用Objective Resource,升级到1.0.1版后,问题就消失了。检查所有第三方库,确保使用最新版本以确保更改3.0。