2012-08-06 54 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

相关问题