我正在创建一个基于导航的应用程序,该应用程序显示一个使用 openGL 呈现的图形,以及一个列出图形上显示的所有元素的公开按钮的表格视图,以及一个设置公开按钮。
导航控制器也是一个 tableview 委托和数据源,并且 tableview 以编程方式添加到视图中,并将其委托和数据源设置为“self”。基于 OpenGL 的图形视图是通过 IB 添加的。
我遇到的问题是我试图在 didSelectRowAtIndexPath 方法中推送视图控制器(设置或图形元素属性)。方法注册并推送新视图,但 tableview 保留并遮盖了推送视图的一部分,就好像它具有不同的导航控制器一样。
我似乎无法将 tableview 的导航控制器设置为与 UINavigationControllers 视图的其余部分相同。
有谁知道我该如何解决这个问题?
我的导航控制器的 initWithCoder 方法,其中添加了 tableview,如下所示:
elementList = [[UITableView alloc] initWithFrame:tableFrame style:UITableViewStyleGrouped];
elementList.dataSource = self;
elementList.delegate = self;
[self.view addSubview:elementList];
进一步在源文件中,推送导航控制器的 DidSelectRowAtIndexPath 方法如下所示:
Settings* Controller = [[Settings alloc] init];
[self pushViewController:Controller animated:YES];
[Controller release];