有很多帖子说明应该避免使用UITableViewController。越来越多我想放弃,但我正在使用一个与整个应用程序绑定的CoreDataTableViewController超类,我没有时间重写它。
当然,UITableViewController的视图不应占用整个屏幕(iPad项目),因此我将其作为子视图放在常规UIView实例上,框架设置为相当大的尺寸。那是奇怪的事情开始发生的时候。
我将自定义类(GroupsTableViewController-> CoreDataTableViewController-> UITableViewController)从一切工作正常的测试项目复制到我当前的项目中。然后我分配/ init和addSubview视图。
首先,表格会显示为空。是什么赋予了?不发送viewWillAppear:消息。什么......?好吧,然后我手动调用它(此时,我已经开始怀疑自己了)。接下来,该表实际上填充了内容,但所有交互性都消失了。没有水龙头,没有滚动。
我尝试在所有内容上设置userInteractionEnabled,但没有结果。这是一件很难的事,我敢肯定,太傻了,不能坚持下去。然而,在这里,我被困住了。
有人能指出我正确的方向吗?我忘记了某个代表吗?或者也许是未发送的消息?
答案 0 :(得分:2)
您遇到的一个问题是嵌套的UIViewControllers没有收到正确的事件,例如viewWillAppear:。根据Apple的指南,UIViewController应该填满整个屏幕而不代表局部视图(当然除了UITabBarController,UINavigationController和UISplitViewController之外)。尝试将GroupsTableViewController设置为主控制器(如果它在UINavigationController中尝试推送它,如果它是拆分视图使其成为详细信息视图等)。如果有效,那么有些事件无法解决问题。希望有所帮助!