테이블 뷰에 표현되야 할 셀이 있으면


다음 부분으로 역할이 넘어온다



테이블 뷰에 셀을 추가하는데 재활용 큐를 사용하고,


해당 셀에 버튼을 붙이기 위해서 tag 를 사용한다



=========================================================================


- (TimerViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    

    static NSString *CellIdentifier = @"TimerViewCell";     // 재활용을 위한 식별자

    

    

    // 해당 이름표를 가진 셀이 재활용 큐에 있는지 확인하고, 만약 있다면 재활용한다

    

    cell = (TimerViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    

    

    // 언제 재활용이 가능해지는 건가?  - 처음에는 전부  nil 이다

    if(cell == nil){

        NSArray *arr = [[NSBundle mainBundle] loadNibNamed:@"TimerViewCell" owner:nil options:nil];

        cell = [arr objectAtIndex:0];

    }

    

    

    

    long row = [indexPath row];

    

    cell.pTitleLabel.text = dataArray[row][0];

    cell.pTimeLabel.text = [self timeToString:[dataArray[row][1] integerValue]];

    

    

    [cell setTitle:cell.pTitleLabel.text];

    

    

    

    UIButton *cellButton = [UIButton buttonWithType:UIButtonTypeCustom];

    

    // 셀에 있는 버튼에, 태그를 설정한다 - attribute inspector - view tag 2 설정

    cellButton = (UIButton*)[cell viewWithTag:2];

    

    

    cellButton.tag = indexPath.row;

    cellButton.backgroundColor = [UIColor grayColor];

    

    [cellButton setTitle:@"시작" forState:0];

    

    [cellButton addTarget:self action:@selector(cellButtonClicked:) forControlEvents:UIControlEventTouchUpInside];

    

    [cell.contentView addSubview:cellButton];


    

    

    return cell;

}


=========================================================================




셀에 있는 버튼에 태그를 설정하고,


해당하는 셀 인덱스값을 태그와 일치시킨다


완성된 다음의 화면을 볼 수 있다



Posted by 스타켄지니어
,