테이블 뷰에 표현되야 할 셀이 있으면
다음 부분으로 역할이 넘어온다
테이블 뷰에 셀을 추가하는데 재활용 큐를 사용하고,
해당 셀에 버튼을 붙이기 위해서 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;
}
=========================================================================
셀에 있는 버튼에 태그를 설정하고,
해당하는 셀 인덱스값을 태그와 일치시킨다
완성된 다음의 화면을 볼 수 있다
'IT > iPhone' 카테고리의 다른 글
ios에서 특정 셀 삭제후, reloadData로 테이블뷰를 다시 그리기 (0) | 2016.11.17 |
---|---|
ios에서 테이블뷰에서 커스터마이징 된 셀을 삭제하는 법 (0) | 2016.08.13 |
ios에서 타이머 기능을 추가하기 (0) | 2016.06.15 |
ios에서 에러 발생 - tableView commitEditingStyle: (0) | 2016.05.10 |
ios에서 타이머에 스레드를 사용하는 방법 _ 검색편 (0) | 2016.05.09 |