iOS:如何在UITableView中的所有行上添加图像?

时间:2014-04-08 19:41:51

标签: ios objective-c cocoa-touch

我必须在UITableView的所有行的顶部添加一个背景矩形图像。

例如,请检查下面的参考图像,其中红色箭头表示此图像 此图像附加在tableview本身中,因为如果我滚动tableView,此图像将随之移动。

an image on top of all the rows in tableview

我想知道如何在UITableView的所有行的顶部插入此类图片。

我在XIB中添加了UITableView并显示了编码中处理的内容 请帮忙!

3 个答案:

答案 0 :(得分:4)

UITableViewtableHeaderView属性

示例:

UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 130.0f)];

UIImageView *thumbnail = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 130.0f)];
[thumbnail setImageWithURL:[NSURL URLWithString:[[initDictionary objectForKey:@"cover_image"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
thumbnail.contentMode = UIViewContentModeScaleAspectFill;
thumbnail.clipsToBounds = YES;
[header addSubview:thumbnail];

self.tableView.tableHeaderView = header;

参考:UITableView Apple Doc

答案 1 :(得分:1)

创建视图并设置为tableHeaderView的{​​{1}}属性。

示例:

UITableView

您可以将此代码放在视图控制器的// Create a view. UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 70.0f)]; // Customize your view. // ... // Set the view as a table view header. self.tableView.tableHeaderView = headerView; 方法中。以下是文档中所说的内容:

  

<强> tableHeaderView

     

表格上方显示的配件视图。

基于UITableView Class Reference

答案 2 :(得分:-1)

你必须将动态与静态单元混合,在这种情况下只有第一个单元格是静态的,代码如下:

    #pragma Mark TableView DataSource Methods
    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{

        return 2;
}

    -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
   if(section == 0){
            return 1;
        }else{

        return 10;
    }

    }

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    if(indexPath.section == 0 ){
       //Static cell 
        static NSString *idCell = @"cell";

        UITableViewCell * cell  = (UITableViewCell * )[tableView dequeueReusableCellWithIdentifier:idCell forIndexPath:indexPath];

       return cell;
        }

    //Then you code your dynamic cells...



    }

希望它有所帮助!