2012-08-06 85 views
0

我目前正在研究一個iOS項目,我對它很陌生。自定義UITableViewController的didSelectRowAtIndexPath永遠不會被調用

  1. 說明我的問題: 我做了我自己的TableView(的UITableViewController的推導包含一個UITableView的)。不幸的是,「didSelectRowAtIndexPath」方法從未被調用過。我仍然可以滾動TableView - 我只是不能選擇一行!我的項目( - 結構)的

  2. 說明:

    MyAppDelegate - 包含MyWindow

    MyWindow - 使用MyRootViewController

    MyRootViewController - 包含MyFirstViewController

    MyRootViewController - 包含MySecondViewController

    MyFirstViewController - 僅包含視圖和一些按鈕和標籤作爲起始視圖。

    MyFirstViewController - 實現ViewMediator

    MySecondViewController - 包含MyTableViewController

    MySecondViewController - 實現ViewMediator

    ViewMediator - 協議讓視圖通信而不需要知道彼此

    MyTableViewController - 從UITableViewController派生

    MyTableViewController - 包含UITableView(構造函數中製造)

    MyTableViewController - 覆蓋cellForRowAtIndexPath(這個作品,所以元素)

    MyTableViewController - 覆蓋didSelectRowAtIndexPath(不會被調用)

    MyTableViewController - 包含MyTableViewModel

    MyTableViewModel - 只是一個類來讀取文件並加載數據到TableView

  3. 我已經嘗試過:手動

    • 3.1集「MyTableViewController」爲代表的含UITableView的 - 即使這應該是自動完成。
    • 3.2將UITableView設置在「MyTableViewController」之外,稍後將其設置爲「MyTableViewController.view」和/或「MyTableViewController.tableView」。
    • 3.3我在UITableView中手動啓用了UserInteraction。認爲這不可能是真正的問題,因爲滾動工作正常。

滑稽的事實:它的工作之前,我剛添加到ViewControllers的通信細微的變化。在直接溝通之前(單向),現在他們通過中介(雙向)溝通 - 衆所周知的中介模式。這不應該影響視圖和它的控制器,對吧?

+0

歡迎使用stackoverflow。編輯你的問題以包含你的'tableView:didSelectorRowAtIndexPath:'方法。 – 2012-08-06 06:25:48

+0

「MyTableViewController - 派生自TableViewController」 - 但從「TableViewController」的派生位置?你的意思可能是'UITableViewController'? - 如果是這樣,只需編輯你的問題。 – Mundi 2012-08-06 07:30:17

+0

謝謝。是的,我的意思是'UITableViewController'。 – 2012-08-06 20:02:19

回答

0

除了將表視圖控制器指定爲表視圖的代理外,還需要視圖控制器的view屬性恰好是您的tableView。

如果你想有一個單獨的視圖和表視圖作爲子視圖(允許其他子視圖),你將不得不繼承子類UIViewController而不是UITableViewController

+0

好吧,我所做的: 'MyTableViewController.view = myTableView' 'MyTableViewController.tableView = myTableView' 不有所作爲,但感謝。 – 2012-08-06 20:03:26

+0

確保委託和數據源設置正確。如果它是一個UITableViewController,則不需要設置視圖。 – Mundi 2012-11-23 10:05:33

相關問題