/********************************************************************************* 函数:-(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