1

有很多帖子说应该避免使用 UITableViewController。我越来越想屈服,但我使用的是一个绑定到整个应用程序的 CoreDataTableViewController 超类,我没有时间重写它。

当然,UITableViewController 的视图不应该占据整个屏幕(iPad 项目),所以我把它作为一个常规 UIView 实例的子视图,框架设置为漂亮的大小。这就是奇怪的事情开始发生的时候。

我将自定义类(GroupsTableViewController->CoreDataTableViewController->UITableViewController)从一切正常的测试项目复制到我当前的项目。然后我 alloc/init 和 addSubview 视图。

起初,桌子会显示为空。是什么赋予了?viewWillAppear: 消息未发送。什么……?好吧,那我手动调用它(此时,我已经开始怀疑自己了)。接下来,表格实际上充满了内容,但所有交互性都消失了。没有点击,没有滚动。

我尝试在所有内容上设置 userInteractionEnabled,但没有结果。我敢肯定,这太愚蠢了,不能坚持下去。然而我在这里,卡住了。

谁能指出我正确的方向?我是不是在某个地方忘记了代表?或者可能是未发送的消息?

4

1 回答 1

2

您遇到的一个问题是嵌套的 UIViewControllers 没有接收到正确的事件,例如 viewWillAppear:。根据苹果的指导方针,UIViewController 应该填满整个屏幕,而不是代表部分视图(当然除了 UITabBarController、UINavigationController 和 UISplitViewController)。尝试将 GroupsTableViewController 设置为主控制器(如果它在 UINavigationController 中,请尝试推送它,如果它是拆分视图,则使其成为详细信息视图等)。如果这可行,那么有些事件无法通过导致您的问题。希望有帮助!

于 2010-12-21T02:46:49.230 回答