2010-07-07 142 views
0

可以通过2个视图控制器来管理视图吗?一个示例是根视图控制器内部有一个表视图控制器,这两个控制器的视图都是表视图。 使用此配置,应用程序会在您运行时滚动表视图的过程中加载但崩溃。这里有什么问题?可可触摸视图控制器

+0

通常情况下,“根视图控制器”,这是一个UIViewController,被作为子类一个UITableViewController,其控制图(一个UITableView)..那是你的配置吗? – element119 2010-07-07 18:22:01

+0

nope根视图控制器是UIViewController的直接子类 – shreyasva 2010-07-07 18:24:21

+0

您说根视图控制器在其“内部”有一个UITableView控制器 - 您必须将根视图控制器作为UITableViewController继承,否则必须创建一个单独的类文件成为UITableViewController并将其指定为UITableView的委托,而不是查看。 – element119 2010-07-07 22:54:44

回答

1

每个UIViewController管理一个视图,它是子视图。尝试使用2个视图控制器管理单个视图是不可取的。

问题是,你不需要2个视图控制器在这里。你的根视图控制器应该是UIViewController的一个自定义的子类。将UITableView添加为根视图控制器视图的子视图,并将UITableView的委托和数据源设置为根视图控制器。确保您的根视图控制器类实现UITableViewDatasource协议所需的方法,您可以在界面构建器中执行此操作,也可以通过编程方式在根视图控制器的viewDidLoad方法中执行此操作。

另外,也可以使用一个UITableViewController作为根视图控制器直接