2013-06-05 52 views
3

我有一個自定義單元格類型,我完全在代碼中定義(子類化UITableViewCell),因爲I can't get it to work using a xib file。我可以將它添加到故事板中表格中的一個單元格中,並且它顯示得很好。但是,我想要選擇該單元格觸發一個繼續到另一個屏幕。我可以在xcode的storyboard中創建segue,但是當我運行代碼時它似乎並不工作(即沒有任何反應,只是選中了單元格)。我在同一張表中還有一個普通的標題/字幕單元,它有一個單獨的segue到不同的屏幕,並且一個工作正常(觸摸該單元格按預期加載下一個頁面),所以它似乎是一個特別的問題定製單元格。我懷疑自定義單元格中的東西正在替換附加的segues。與自定義表單元格使用segues

那麼如何確保我的自定義單元格可以使用故事板中定義的segues?

+0

你有沒有調用_performSegueWithIdentifier_方法? –

回答

4

您可以在故事板中爲您的segue設置ID,並在tableView:didSelectRowAtIndexPath:請致電[self performSegueWithIdentifier:@"mySegueID"];。希望這可以幫助。

+0

哪個類會擁有'didSelectRowAt'?我在UITableViewController中找到了'RowSelected',這個地方有我的'PrepareForSegue'。我在那裏添加了一些代碼來調用'PerformSegue',但似乎'RowSelected'永遠不會被調用。 –

+0

這是一個'UITableViewDelegate'方法,應該在你的'UITableViewController'子類中實現。這是與該代表的[鏈接](http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html)。 – Levi

+0

這似乎並不完全映射到xamarin類。但是'UITableViewSource'中有一個'RowSelected'似乎被調用,並且我設置了一個事件,我可以從'UITableViewController'中訂閱來調用'PerformSegue'。看起來不太合適,但似乎有效。 –