我在将自定义单元格放置在表格视图中的所需位置时遇到问题。如果有一个简单的解决方案,我不会感到惊讶,因为我是一个新手。
第一个细胞是" 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问题可以解决我的问题。
非常感谢解决方案!
答案 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)
我认为这样可以解决问题。