UITableView ... 올바른 방법
-
12-11-2019 - |
문제
Native Calendar 앱과 같이 UITableView를 만들려고합니다.
하지만이 일을하는 가장 좋은 방법을 배우려고합니다.CellForrowAtindexpath 메서드에서 Switch 문으로 대부분이 기능을 사용할 수 있지만 셀이 선택 될 때 TextColor를 변경하는 문제가 발생했습니다.
셀의 경우 셀들 .iselected는 항상 NO이며, 다른 셀이 어쨌든 선택한 후 테이블 뷰를 다시로드 할 수있는 방법이 없습니다.
이 간단한 uitableViewCell을 위해 UITableViewCell을 하위 클래스하고 셀 배열을 저장해야합니까?
도움이 감사합니다.
해결책
앱 Doc 위임 기능 :
tableView:willSelectRowAtIndexPath:
.
트릭을해야합니다
편집 :
위임자를 사용하는 아이디어를 보여주는 몇 가지 코드가 있습니다.이 코드는 현재 Xcode 앞에 있지 않은 것처럼 테스트되지 않았습니다.
.
-(void)willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (prevIndexPath != nil) {
UITableViewCell* prevCell = [self.tableView cellForRowAtIndexPath: prevIndexPath];
prevCell.textLabel.textColor = [UIColor black]; // your initial color here
}
UITableViewCell* cell = [self.tableView cellForRowAtIndexPath: indexPath];
cell.textLabel.textColor = [UIColor green];
prevIndexPath = indexPath;
}
테이블보기를 관리하고 TableViews.Delegate를 설정하는 제어 클래스로 UITableViewDelegate 프로토콜을 설정하십시오.
이 코드를 실행하려면 PREVINDEXPATH 이름으로 속성이나 변수를 정의해야합니다.이 제품은 이전에 선택한 셀을 초기 색상으로 되돌리기 위해 필요한 셀을 보유합니다.