我需要UITableView
像 GridView 一样显示一些图像(动态计数)。我想显示3 images in each section
。
如果大于 3,则应遵循下一节。所有图像都在NSMutableArray(arr)
每个图像中的一个索引处。
现在假设如果有 2 个图像,那么它们应该进入第一部分。如果有 >3(第二部分)。数组中的图像数量是动态的。
如果每个部分完成了 3 张图像,那么它应该进入下一个。但是我不知道如何添加到部分中,如果 3 张图像被填充,则转到下一部分。
这是代码:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *hlCellID=@"hlCellID";
UITableViewCell* hlcell=[self.tableView dequeueReusableCellWithIdentifier:hlCellID];
if(hlcell == nil)
{
hlcell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:hlCellID]autorelease];
hlcell.accessoryType = UITableViewCellAccessoryNone;
hlcell.selectionStyle = UITableViewCellSelectionStyleNone;
}
int n=[array count];//dynamic item count (suppose 2)
int i=0,i1=0;
while(i<n)
{
int yy= 4+i1*34;
int j=0;
for(j=0;j<3;j++)
{
if(i>=n)break;
CGRect rect=CGRectMake(0+150*j,yy,150,40);
NSMutableDictionary *d =[[[NSMutableDictionary alloc]initWithDictionary: [productsarray objectAtIndex:indexPath.row]]autorelease];
NSString* yourBase64String = [d objectForKey: @"image"];
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:rect];
[myImageView setFrame:rect];
[myImageView setContentMode:UIViewContentModeLeft];
NSData *data = [NSData dataFromBase64String:yourBase64String];
UIImage* image = [UIImage imageWithData: data];
NSString *tagValue=[NSString stringWithFormat:@"%d%d",indexPath.section+1,i];
myImageView.tag = [tagValue intValue];
myImageView.image = image;
[hlcell.contentView addSubview:myImageView];
[myImageView release];
i++;
}
i1=i1+1;
}
return hlcell;
}
但是这里有 2 张图片在一个部分中添加了第一个,在另一个部分中添加了另一个(一个在另一个之下)。
任何帮助或想法将不胜感激。