0

我有一个有 2 行的表,其中每 3 列,还有一个有 5 个值的数组。这些值应连续显示在 3 列中,例如

indexPath.row 0: Array[0] | Array[1] | Array[2]
indexPath.row 1: Array[3] | Array[4] | 

我想创建一些编码,它将我的值(它不在乎有多少,例如 5,6,7,...,20,21 以 3 列的格式显示)行的大小为具有值的数组。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{    
    NSMutableArray *values = [... getValues];
    int no=0;
    if (values) {
        no=(values.count+1)/3;
    }
    else{
        no=0;
    }
    return no;
}

我目前的问题是,我没有得到分布在列中的 5 个值。我正在努力计算,这些不适合数组的索引......

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//order values in 3 columns and 2 rows (currently)...
}

BR,迈贝克

4

2 回答 2

0

假设 COLS 是列数,V 是值的数量,其中 M 是矩阵,Vector 是值向量:

for i = 0 to V-1:
    M[i div COLS][i mod COLS] = Vector[i]
于 2012-08-27T16:01:47.363 回答
0

找到了解决方案。

NSInteger count = numberOfValues;
NSInteger start = indexPath.row * 3;
NSInteger end = MIN(start + 3, count);

for(int i = start; i < end; i++)
{
  if(i%3 == 0){//left}
  if(i%3 == 1){//center}
  if(i%3 == 2){//right}
}
于 2012-08-30T09:19:43.173 回答