/*********************************************************************************
函数:-(UITableViewCell *)tableView: cellForRowAtIndexPath:
功能: 在tableview的单元中添加控件,并完成其布局和tag计数
参数: (id)sender
返回值:(UITableView *)tableView (NSIndexPath *)indexPath
**********************************************************************************/
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *cellTableIdentifier = @"CellTableIdentifier";
//NSLog(@"%d",screenNum);
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellTableIdentifier];
if(cell == nil)
{
CGRect cellFrame = CGRectMake(0, 0, 80, 115);
cell = [[[UITableViewCell alloc] initWithFrame:cellFrame reuseIdentifier:cellTableIdentifier] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
UIImageView *tableCellBg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"shelf_panel.png"]];
tableCellBg.frame = CGRectMake(0, 0, 320, 115);
cell.backgroundView = tableCellBg;
if(([listData count]%3 == 0) || ([listData count]%3!=0 && indexPath.row < rowNum-1))
{
UIButton *btnOne = [[[UIButton alloc] initWithFrame:CGRectMake(20, 20, 80, 60)] autorelease];
//[btnOne setBackgroundImage:icon forState:UITouchPhaseBegan];
//[btnOne setBackgroundImage:icon forState:UITouchPhaseEnded];
[btnOne setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:(3*indexPath.row)],indexPath.row]] forState:UITouchPhaseBegan];
[btnOne setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:(3*indexPath.row)],indexPath.row]] forState:UITouchPhaseEnded];
btnOne.tag = 3*indexPath.row;
[btnOne addTarget:self action:@selector(btn:) forControlEvents:UITouchPhaseEnded];
//NSLog(@"this index tag=%d",btnOne.tag);
[cell.contentView addSubview:btnOne];
UIButton *btnTwo = [[[UIButton alloc] initWithFrame:CGRectMake(120, 20, 80, 60)] autorelease];
[btnTwo setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:(3*(indexPath.row)+1)],indexPath.row]] forState:UITouchPhaseBegan];
[btnTwo setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:(3*(indexPath.row)+1)],indexPath.row]] forState:UITouchPhaseEnded];
btnTwo.tag = 3*(indexPath.row)+1;
[btnTwo addTarget:self action:@selector(btn:) forControlEvents:UITouchPhaseEnded];
//NSLog(@"this index tag=%d",btnTwo.tag);
[cell.contentView addSubview:btnTwo];
UIButton *btnThree = [[[UIButton alloc] initWithFrame:CGRectMake(220, 20, 80,60)] autorelease];
[btnThree setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:(3*(indexPath.row)+2)],indexPath.row]] forState:UITouchPhaseBegan];
[btnThree setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:(3*(indexPath.row)+2)],indexPath.row]] forState:UITouchPhaseEnded];
btnThree.tag = 3*(indexPath.row)+2;
[btnThree addTarget:self action:@selector(btn:) forControlEvents:UITouchPhaseEnded];
//NSLog(@"this index tag=%d",btnThree.tag);
[cell.contentView addSubview:btnThree];
}
else if([listData count]%3 == 1)
{
UIButton *btnOne = [[[UIButton alloc] initWithFrame:CGRectMake(20, 20, 80, 60)] autorelease];
//[btnOne setBackgroundImage:icon forState:UITouchPhaseBegan];
//[btnOne setBackgroundImage:icon forState:UITouchPhaseEnded];
[btnOne setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:[listData count]-1],rowNum-1]] forState:UITouchPhaseBegan];
[btnOne setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:[listData count]-1],rowNum-1]] forState:UITouchPhaseEnded];
btnOne.tag = 3*(rowNum-1);
[btnOne addTarget:self action:@selector(btn:) forControlEvents:UITouchPhaseEnded];
//NSLog(@"this index tag=%d",btnOne.tag);
[cell.contentView addSubview:btnOne];
}
else if([listData count]%3 == 2)
{
UIButton *btnOne = [[[UIButton alloc] initWithFrame:CGRectMake(20, 20, 80, 60)] autorelease];
//[btnOne setBackgroundImage:icon forState:UITouchPhaseBegan];
//[btnOne setBackgroundImage:icon forState:UITouchPhaseEnded];
[btnOne setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:[listData count]-2],rowNum-1]] forState:UITouchPhaseBegan];
[btnOne setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:[listData count]-2],rowNum-1]] forState:UITouchPhaseEnded];
btnOne.tag = 3*(rowNum-1);
[btnOne addTarget:self action:@selector(btn:) forControlEvents:UITouchPhaseEnded];
//NSLog(@"this index tag=%d",btnOne.tag);
[cell.contentView addSubview:btnOne];
UIButton *btnTwo = [[[UIButton alloc] initWithFrame:CGRectMake(120, 20, 80, 60)] autorelease];
[btnTwo setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:[listData count]-1],rowNum-1]] forState:UITouchPhaseBegan];
[btnTwo setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:[listData objectAtIndex:[listData count]-1],rowNum-1]] forState:UITouchPhaseEnded];
btnTwo.tag = 3*(rowNum-1)+1;
[btnTwo addTarget:self action:@selector(btn:) forControlEvents:UITouchPhaseEnded];
//NSLog(@"this index tag=%d",btnTwo.tag);
[cell.contentView addSubview:btnTwo];
}
}
return cell;
}
-(void)dealloc{
[listData release];
[theTableView release];
[super dealloc];
}
@end