表视图中的多个自定义单元格放置

时间:2014-05-22 16:57:09

标签: ios uitableview modulo custom-cell

我在将自定义单元格放置在表格视图中的所需位置时遇到问题。如果有一个简单的解决方案,我不会感到惊讶,因为我是一个新手。

第一个细胞是" day"细胞。我需要7个,然后一个"周"细胞。然后重复一遍。

我以为我可以使用modulo获得本周的第8个单元格而且我会被设置!不幸的是,这使得第一个索引成为每周一个单元格,这不是我想要的。所以我把index.row!= 0放在条件中,如下所示:

if (indexPath.row%8 == 0 && indexPath.row != 0) {
        weeklyCell = [tableView dequeueReusableCellWithIdentifier:@"Week" forIndexPath:indexPath];
        // some code to add content to the cell
        return weeklyCell;
} else {
// dayCell code
}

但这给了我第一周细胞出现前8天的问题。在第一周的细胞之后,它运作良好。 7天,一周细胞等

基本上我需要indexPath.row从0-6开始用于dayCell,7用于dayCell,8-14用于dayCell,15用于weekCell等。

我似乎无法用模数或任何其他方式弄清楚如何做到这一点。没有类似的SO问题可以解决我的问题。

非常感谢解决方案!

3 个答案:

答案 0 :(得分:2)

我认为这会奏效,

if ((indexPath.row + 1) %8 == 0) {
        weeklyCell = [tableView dequeueReusableCellWithIdentifier:@"Week" forIndexPath:indexPath];
        // some code to add content to the cell
        return weeklyCell;
} else {
// dayCell code
}

答案 1 :(得分:1)

尝试:

BOOL isWeekCell = (indexPath.row % 8) == 7;

答案 2 :(得分:1)

替换:

if (indexPath.row%8 == 0 && indexPath.row != 0)

使用:

if (indexPath.row+1%8 == 0 && indexPath.row != 0)

我认为这样可以解决问题。