문제

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 이름으로 속성이나 변수를 정의해야합니다.이 제품은 이전에 선택한 셀을 초기 색상으로 되돌리기 위해 필요한 셀을 보유합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top