0

我有一個iPhone應用程序在SDK的2.x版本中正常工作。當我升級到3.0時,不再調用didSelectRowAtIndexPath方法,因此用戶突出顯示行時的操作不會發生。這是一個自定義的UITableViewCell,位於UITableView的一個單獨的筆尖中。數據源和數據委託都在Interface Builder中正確連接,如果我將它編譯爲2.21,它就可以工作。在版本3.0上,單擊該行不會執行任何操作。iPhone - UITableView不調用3.0 SDK中的didSelectRowAtIndexPath方法

This question提到了類似的問題,但他們提到了另一個正在進行點擊的第一響應者。我沒有任何第一響應方法掛鉤到單元格或表格。

如何在2.x和3.0下正常工作?自定義單元格有幾個標籤和一個圖像,我只想點擊一行並顯示該特定行的詳細信息。

+0

你確定allowedSelection屬性設置爲YES? – pix0r 2009-06-30 00:14:55

+0

是的,UITableView上的allowsSelection屬性設置爲YES。單擊一行時,它會突出顯示一秒,然後回到正常(未突出顯示),但視圖控制器上的didSelectRowAtIndexPath方法不會被調用。 – 2009-06-30 01:24:03

回答

1

你可能不會喜歡這個答案太...

有些事情,在2.2的工作,不要在上班3.0(您已經知道這一點)。一些API已經改變,例如...

然而,有幾件事情是不同的,因爲它們從來沒有應該首先工作(根據蘋果公司)。

我無法確定這些更改中的一個是您的問題,但它可能是。與筆尖和屬性有關的微妙之處肯定會受到影響。

我的建議是:

首先,檢查你的筆尖的連接,也許你有缺少2.2讓你得逞的,但3.0不會連接。

接下來,用簡單的表格視圖構建一個測試應用程序,並查看是否可以使其工作。如果是這樣,您應該開始將代碼中的複雜性添加到測試應用程序中,直到它中斷。

不幸的是,這可能需要一些時間。你也可以發佈一些代碼,看看是否有什麼我們可以找到。

0

我有這個相同的問題。我花了幾個小時試着想想你想做的任何事情。有趣的是它最終沒有成爲我的代碼的問題。

我正在使用Objective Resource,升級到版本1.0.1後,問題就消失了。檢查你所有的第三方庫,並確保你使用的是最新的,以確保你有他們的3.0變化。

相關問題