具有固定图像背景的UITableView

时间:2010-09-12 06:27:09

标签: iphone objective-c uitableview background

很抱歉,但我没有找到明确答案。 我有一个带有标签栏和每个标签中的UINavigationController的iphone应用程序。 界面使用Interface Builder构建,在第一个选项卡中有一个UITableView。 我已经准备了具有主视图(A)的xib,其中包含表(T)和后面的图像(IMG)背景(图像作为主视图的子视图)。 后来我将UITableViewController指定为所有者。这就是问题的起点。 在IB中,如果我将视图连接到A,我收到运行时错误,告诉我控制器找不到表。 如果我将控制器视图连接到T,一切正常,但IMG未显示。

我找到的唯一解决方案是创建一个新的xib,其中包含一个UIViewController作为所有者的A和IMG。然后创建一个仅包含T的xib和作为所有者的UITableViewController,正确连接到T. 然后在UIViewController的viewDidLoad中:

iptc = [[IPPlantsTableViewController alloc] initWithNibName:@"IPPlantsView" bundle:[NSBundle mainBundle]];

iptc.navigator=self.navigationController; // <-- need this

[self.view addSubview:iptc.view];

这是有效的,除了表视图似乎对navigationController一无所知,因此详细视图机制不起作用,除非我在UITableViewController中为它设置了一个属性。 我还遇到了其他一些问题,例如,在表中添加/删除/创建行的所有逻辑必须在UIViewController中处理并发送到UITableViewController。

在表格视图中有另一种固定图像的方法吗?

2 个答案:

答案 0 :(得分:2)

我会诚实地讨厌Interface Builder ;-)所以我无法帮助你。

但是要在UITableView的背景中设置固定图像,您应该: - 将UITableView的背景颜色设置为[UIColor clearColor](也可能是单元格的背景) - 在包含图像的uitableview视图下面设置和uiimageview:)

这样就可以了。

但是没有xcode项目,我无法帮助你更多^^

祝你好运

答案 1 :(得分:1)

UITableViewController是一个方便的类;你可以同样使用UIViewController并实现正确的回调。

在OS 3.2+中,您只需设置UITableView.backgroundView即可。如果IB不允许您这样做,您可以在代码中执行此操作。

或者,您可以以不同的方式连接viewtableView个网点,除非tableView只是(UITableView*)self.view