반응형
didSelectRowAtIndexPath에서 현재 선택한 셀에 도달하는 방법은 무엇입니까?
메서드를 통해 셀의 액세서리보기 유형을 변경하고 싶습니다 : didSelectRowAtIndexPath, 즉 행이 선택 될 때 액세서리보기 유형을 변경하고 싶습니다. 해당 메서드 내에서이 작업을 수행 할 수 있습니까?
다음 과 같이 indexPath를 사용하여 didSelectRowAtIndexPath : 메소드 에서 셀을 가져올 수 있습니다 .
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
Swift 3.0 : 필요에 따라 다음 두 가지 방법을 사용할 수 있습니다.
let cell:UITableViewCell = tableView.cellForRow(at: indexPath) as UITableViewCell
또는
let cell:CustomTableViewCell = tableView.cellForRow(at: indexPath) as! CustomTableViewCell
해피 코딩 !!
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
{
UITableViewCell *myCell = [tableView cellForRowAtIndexPath:indexPath];
// Access accessory View as below.
UIView * myCellAccessoryView = myCell.accessoryView;
}
아래 함수를 사용하여 선택한 행의 인덱스 경로를 전달하여 특정 셀이 다시로드되도록합니다.
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
또 다른 해결책은 선택한 행 인덱스를 저장하고 테이블 뷰를 다시로드하는 것입니다. 그런 다음 cellForRowAtIndexPath
선택한 행 을 확인하고 셀의 액세서리보기를 변경합니다.
빠른
다음과 같이 indexPath를 사용하여 didSelectRowAtIndexPath : 메소드에서 셀을 가져올 수 있습니다.
let cell:UITableViewCell? = tableView.cellForRowAtIndexPath(indexPath)
선택한 인덱스 경로를 저장합니다. 예 : NSInteger selectedIndexPath; 그런 다음 아래 단계를 따르십시오. 액세서리보기를 설정합니다.
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
AddressTableViewCell *cell=(AddressTableViewCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
cell.backgroundColor=[UIColor lightGrayColor];
Address *addr=[self.locationArray objectAtIndex:indexPath.row];
cell.titleLabel.text = addr.addressTitle;
cell.detailLabel.text = addr.addressDetail;
if (indexPath.row == selectedIndexPath) {
[cell.selectButton setImage:[UIImage imageNamed:@"checkboxFilled"] forState:UIControlStateNormal];
}
else {
[cell.selectButton setImage:[UIImage imageNamed:@"checkbox"] forState:UIControlStateNormal];
}
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
selectedIndexPath=indexPath.row;
[self.tableView reloadData];
}
반응형
'Programing' 카테고리의 다른 글
C #이 C ++와 같은 비 멤버 함수를 허용하지 않는 이유 (0) | 2020.11.17 |
---|---|
Mac OS X에서 IntelliJ IDEA의 JDK 문서 (0) | 2020.11.17 |
Tomcat 7 : 초기 힙 크기를 올바르게 설정하는 방법은 무엇입니까? (0) | 2020.11.17 |
이름이 지정되지 않은 레지스터에서 Vim + Tmux yank / paste 수정 (0) | 2020.11.17 |
Git : 치명적 : 현재 분기 마스터에 여러 업스트림 분기가있어 푸시를 거부합니다. (0) | 2020.11.17 |