2014-04-07 78 views
1

我在Xamarin中構建了一個簡單的表格視圖應用程序。我在UITableViewSource RowSelected事件是在模擬器完美的工作,但是當我在調試運行iOS 7.1Xamarin:RowSelected沒有在設備上調用,在模擬器中罰款

我的iPhone 4S的應用程序沒有被稱爲這是繼承UITableViewSource

類中我的代碼
public override void RowSelected (UITableView tableView, NSIndexPath indexPath) 
    { 
     Console.WriteLine ("Selected"); 
     tableView.DeselectRow (indexPath, true); 
    } 

在模擬器中按預期方式添加斷點,但在設備上運行時斷點永遠不會被命中。沒有錯誤發生,表格中的單元格保持被選中,就好像我沒有重寫RowSelected方法一樣。

我已經嘗試了大量的東西,包括剝去所有其他事件代碼,甚至從頭開始項目。

任何幫助將非常感激。

+0

您確定您在調試中的設備上運行更多嗎? – choper

+0

嘗試在您的GetCell()中設置cell.UserInteractionEnabled爲true –

+0

@choper是的,我在其他地方添加了其他斷點和Console.WriteLine,並且所有這些都調用正常。 – philwilks

回答

0

我遇到過這樣的問題,您是否在表格單元格中添加了一些「點按」手勢或其他東西?因爲當你點擊一行時,就會調用它,而不是Row Selected方法。

希望它有幫助。

+0

感謝您的建議,但我沒有添加任何其他手勢。 – philwilks

2

我剛剛在這個問題上反彈。沒有答案的解釋,但我關閉了Xcode,清理並重建瞭解決方案。在我的情況下,模擬器工作正常,但設備不會觸發行選擇。

0

我發現解決方案是這樣的,以從我在Visual Studio中編譯的Xamarin項目中刪除引用的DLL。相反,我將構成DLL的C#文件添加到Xamarin解決方案中,然後允許Xamarin Studio將它們編譯爲構建過程的一部分。這立即解決了這個問題。

我嘗試過的其他事情之一是更改爲Alpha版Xamarin Studio。起初這似乎解決了這個問題,但我後來意識到,雖然我的應用程序中的主要UITableView現在正在觸發RowSelected事件,但還有另一個UITableView仍然無法工作。

相關問題