我有一个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)。
由于
答案 0 :(得分:2)
你会用
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;
titleForHeaderInSection:
仅将标头设置为文字,viewForHeaderInSection:
允许您添加视图UIImageView
等。
答案 1 :(得分:0)
UIImageView
是UIView
的子类,因此可以从
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
这是你应该做的,因为它允许完全自定义标题图像。
如果您改为使用
- (NSString *)tableView:(UITableView *)aTableView titleForHeaderInSection:(NSInteger)section
然后您可以控制的唯一是您返回的NSString
。您无法添加背景,更改字体颜色等。由于您有图像,请使用前一种方法。