最佳(任意)方式将uitableview节标题混合在分组表视图的顶部

时间:2009-06-19 02:29:02

标签: iphone cocoa-touch uitableview

我想将分段标题添加到我的分组表视图的部分,但我希望它们看起来是无缝的(见图)。我们都很清楚,默认情况下,在分组表视图单元格的第一行上是圆角顶角,因此在合并它们时最终看起来像废话。

任何指定indexPath.row = 0的方法UITableViewCell应该使用行样式“middle”或类似的东西吗?

如果没有,那么我的选择是什么?我想我可以抓住节标题并使用第0行作为准标题然后按我的数组数据+1来填充表的其余部分?我宁愿不从头开始......如果可能的话。

Sample Table http://img35.imageshack.us/img35/8181/sampletable.png

编辑:

“Crap”看起来像这样:

alt text http://img25.imageshack.us/img25/9748/crapsection.png

3 个答案:

答案 0 :(得分:1)

  1. 不要做你正在做的事情,这是针对HIG

  2. 好的,好的,我会告诉你怎么做:

  3. 您将要执行自己的单元格背景视图。默认分组的不是您想要的。

    当tableview要求您提供单元格时,请将其backgroundView和selectedBackgroundView设置为适合其在tableview中的位置。

    通常,这意味着带有适当图像的UIImageView,虽然你可以在这里使用自定义视图,但有一些问题。

    所以在你的情况下,你会做

    if (indexPath.row > sectionRowCount - 1) {
        //Not the last row
        //Put in the middle background
    } else {
        //Put in the end background
    }
    

    然后你会想要一个自定义的表格节目标题,但这很容易。

    在您的情况下,您可能不必担心何时只有一行,这样可以使事情变得更加容易。

答案 1 :(得分:1)

在这里查看教程: cocoa with love基本上你需要的是3个不同的图像。一个用于顶行,一个用于底部,第三个用于中间行。

答案 2 :(得分:0)

您也可以不使用节标题,而是使用自定义单元格作为节的第一个单元格。因此,当([indexPath row] == 0)时,返回一个自定义单元格,即“标题”,然后返回“常规”单元格(偏移一行)。您还必须调整numberOfRowsInSection函数以返回+1。