如何将图像添加到表格视图“标题”中?

Posted

技术标签:

【中文标题】如何将图像添加到表格视图“标题”中?【英文标题】:How can I add an image into a tableview "header"? 【发布时间】:2010-02-23 22:18:58 【问题描述】:

我有一个UITableView,我在其中显示数据列表。我想要一个徽标,而不仅仅是视图标题部分的文本。下面的代码只给了我文字。

关于如何在其中获取图像的任何想法?

- (void)viewDidLoad 

    [super viewDidLoad];
    self. = @"Videos";

【问题讨论】:

我刚刚意识到,不清楚您是想要整个表格的标题(只有一个,在第一个单元格上方)还是部分标题(每个部分一个,浮动在第一个单元格上方)。跨度> 抱歉不清楚。是的,我希望它位于第一个单元格上方。 好的,你想要的是 UINavigationBar 中的图像。这与表格视图标题或部分标题不同,它们都是 UITableView 的一部分,并且会随着其内容滚动。汤姆哈灵顿的答案就是你想要的。 【参考方案1】:

类似的东西:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

    return 69.0;


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

    UIView* headerView = [[UIView alloc] initWithFrame: CGRectMake(0.0, 0.0, 320.0, 69.0)];
    headerView.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @"header1" ofType: @"png"]]];
    return headerView;

【讨论】:

这会将图像放在每个部分的标题上,而不是表格标题上。【参考方案2】:

要在导航栏中获取图标(基本上是 Facebook 应用程序所做的),请使用 navigationItem 的 titleView 属性。您可以在其中放置任意 UIView,在透明背景上带有徽标的 UIImageView 会产生与 Facebook 使用的相同的效果。在 viewDidLoad 中执行此操作即可完成设置。

任何视图控制器都可以使用 UINavigationItem,因此如果您不使用导航控制器,您应该仍然可以使用。

或者,只要在有意义的地方添加一个 UIToolbar,并给它一个 UIBarButtonItem 和一个设置为 UIImageView 的自定义视图。

【讨论】:

以上是关于如何将图像添加到表格视图“标题”中?的主要内容,如果未能解决你的问题,请参考以下文章

如何在swift ios中将多个图像添加到自定义表格视图单元格?

将手势识别器添加到表格单元格中的图像视图

如何在表格视图和单元格之间添加图像

如何从资产中获取不同的图像并将其分配给不同表格视图单元格中的图像视图

如何让表格视图滚动到图像视图上方?

使用表格将对象/图像添加到视图