UITableViewCell宽度太窄(分组样式)

时间:2011-11-08 04:40:49

标签: iphone uitableview

我希望自定义查找我的UITableView,其中包含页眉,页脚和单元格的图像。就此而言,我为表格的页眉和页脚返回UIImageView,我还将UIImageView设置为单元格的backgroundView

问题是单元格的图像比页眉/页脚更窄。这似乎是UITableView的分组样式的默认行为。我需要一个分组的样式,以便在滚动时标题不会与单元格重叠。

有没有解决这个问题的方法?

1 个答案:

答案 0 :(得分:0)

抱歉,我的英语很差,我可能会说错了。但如果没有错误: 如果你找不到“正确”的解决方案,你可以试试这个: (这不是做你想做的最好的方式,但它是我能提供的唯一方法)

你需要的只是让你的表视图只有一个部分,没有标题。然后,只需使每个“原始”必须是具有不同参数的其他部分的标题:

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    {
        return 1;
    }

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
       return <number of all raws in all sections plus number of sections, to make some raws - sections>;
    }
    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    for (int i = 0; i < (number of sections); i++) {
        if (indexPath.raw == i*(number of raws in section i)) return (heigth of header);
}
    return (heigth of raw);

    }

    //Configure cells:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *CellIdentifier = @"Cell";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        }

        // Configure the cell...
        for (int i = 0; i < (number of sections); i++) if (indexPath.raw == i*(number of raws in section i)) {
    //set properties to headers
    return cell;
    }

    //set properties to raws
    return cell;
    }