xcode ios - 表格视图部分标题中的图像

Posted

技术标签:

【中文标题】xcode ios - 表格视图部分标题中的图像【英文标题】:xcode ios - image in tableview section header 【发布时间】:2014-07-31 23:33:17 【问题描述】:

这是我的代码:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
    UIImage *myImage = [UIImage imageNamed:@"photo.png"];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:myImage];
    imageView.frame = CGRectMake(10,10,60,60);

    if (section == 0)
        return 0;
    else if (section == 1)
        return 0;
    else if (section == 2)
        return 0;
    else if (section == 3)
        return 0;
    else if (section == 5)
        return imageView;
    else
        return 0;
    

所以图像出现了,但问题是imageView.frame 不起作用,照片大小看起来等于标题高度,我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

当您实现tableView:viewForHeaderInSection: 方法时,您还必须实现tableView:heightForHeaderInSection: 方法以返回所需的标题高度:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
    if (section == 5) 
        return 70;
     else 
        return 0;

您的viewForHeaderInSection 方法可能会更好:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
    if (section == 5) 
        UIImage *myImage = [UIImage imageNamed:@"photo.png"];
        UIImageView *imageView = [[UIImageView alloc] initWithImage:myImage];
        imageView.frame = CGRectMake(10, 10, 60, 60);
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 70)];
        [view addSubview:imageView];

        return view;
     else 
        return nil;
    

【讨论】:

谢谢,工作正常。我可以在图片后面添加背景吗?? 你可以在视图中添加任何你想要的东西。

以上是关于xcode ios - 表格视图部分标题中的图像的主要内容,如果未能解决你的问题,请参考以下文章

按下表格视图部分按钮时如何加载不同的数组?

如何让我在 xcode 4.6 ios6 中的表格视图正常工作?

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

带有从 iphone 中的服务器加载的图像的表格视图

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

搜索 iOS 8 + XCode 6 后不显示标题视图