我有我的iPhone应用程序中的分组风格的UITableView。 现在我想用图像,标签和活动指示器自定义节标题。如何在Interface Builder for iPhone中构建UITableView sectionHeader视图?
为此,我创建了一个新的UIViewController子类和一个XIB文件。我将UIImageView,UILabel和UIActivityIndicatorView作为IBOutlet属性添加到ViewController,并将它们连接到我在Interface Builder中放入XIB的控件。
在我的UITableView的类中,我设置了节标题(两个,上面定义的ViewController的两个实例)并设置它们的属性(图像和文本)。然后我返回的的tableView委托ViewControllers观点:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if (section == 0) {
return [favoritesSectionHead view];
} else {
return [serverlistSectionHead view];
}
}
这显示我在Interface Builder中定义它,而无需自定义图像和文字的观点。 我知道为什么会发生这种情况(ViewController的视图是在第一次需要时创建的,在我的代码中这是当我在viewForHeaderInSection方法中返回时 - >当我试图设置自定义值时视图仍然为零),但是我不知道如何解决这个问题。
你能帮我吗?在退货之前,我必须做什么来初始化视图? UITableView文档告诉我不要手动调用“loadView”...
在此先感谢, 马克。
您可能希望从if()语句中取出返回值,它会引发警告,因为编译器在代码中运行,它不像我们那样遍历步骤,所以它会到达并没有得到“返回someObject”,并且它不知道你在结束之前已经抛出了一个值。我设置了一个tempObject:UIView * tempView; 然后,我将它设置为等于它在if()语句中所需的值,就像在返回[favoritesSectionHead视图]中一样;然后在该方法结束时,我返回tempObject,如“return tempView;”没有警告! – Newbyman 2010-07-30 02:06:52