表HeaderView iPhone

时间:2011-09-12 20:23:48

标签: iphone objective-c xcode

我有一个UITableView,在某些情况下需要在顶部插入一些东西(并非总是如此)。

代码(如果它是一个NORMAL)单元格如下

UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,98,100)];
imgView.image = [UIImage imageNamed:@"image.png"];
cell.imageView.image = imgView.image;
//sets cell text
cell.textLabel.text = @"Number";

但我在这里被告知,实现headerView比每次更改indexPath更容易。

所以我的问题是如何实现这一点?我会使用- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section还是会使用- (NSString *)tableView:(UITableView *)aTableView titleForHeaderInSection:(NSInteger)section?请记住,我有一个图像放入单元格(headerView)。

由于

2 个答案:

答案 0 :(得分:2)

你会用

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;

titleForHeaderInSection:仅将标头设置为文字,viewForHeaderInSection:允许您添加视图UIImageView等。

答案 1 :(得分:0)

UIImageViewUIView的子类,因此可以从

返回
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {

这是你应该做的,因为它允许完全自定义标题图像。

如果您改为使用

- (NSString *)tableView:(UITableView *)aTableView titleForHeaderInSection:(NSInteger)section

然后您可以控制的唯一是您返回的NSString。您无法添加背景,更改字体颜色等。由于您有图像,请使用前一种方法。