2

我正在创建一个基于导航的应用程序,该应用程序显示一个使用 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];
4

1 回答 1

0

通过在 IB 中添加一个 UITableView,将 IBOutlet 添加到 elementList,并通过 IB 将 UIViewController 设置为委托和数据源来修复。

Stack Overflow 对于将您的问题表达出来非常有用,因此解决方案变得显而易见。

于 2010-05-20T15:24:56.090 回答