我正在创建一个应用程序,我将获取用户的电话簿并将其显示在列表视图中。我将电话簿分成按名称排序的部分。我希望按偶数和赔率交替行如果问题是indexPath.row如果新部分开始则重置为零。我试图得到它是一个奇怪的甚至是行的AGNOSTIC 我试过了
- (void)tableView:(UITableView *)tableView
willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath
{
if(switcher == 0)
{
switcher = 1;
}
else
{
switcher = 0;
}
}
希望偶数选择器每次显示新单元格时都会改变。 这几乎可以工作,但有时如果我停止并再次开始滚动我将获得零两次或一次两次(这是不完美的)。
提前谢谢! [我为当前结果添加了一张图片,为期望的结果添加了另一张图片
答案 0 :(得分:6)
添加在给定部分之前的所有部分中的行数。然后你可以做模数运算来确定它是偶数还是奇数。您可以在cellForRowAtIndexPath:
中使用此功能根据isOdd
更改颜色。
NSUInteger row = indexPath.row;
for (int i = 0; i < indexPath.section; i++) {
row += [tableView numberOfRowsInSection:i];
}
BOOL isOdd = row % 2; // if it is divisible by 2, this will be 0. if it isn't, it is 1