iOS 7이 공식적으로 출시되지 않았다는 것을 알고 있으며 이에 대해 논의해서는 안되지만이 문제를 해결하려고 미쳐 가고 있습니다. iOS 6에서는 테이블 뷰가 투명하고 멋지게 보입니다. iOS 7을 처음 실행하면 배경이 흰색입니다.
표 backgroundColor, 셀 색상 등을 UIColor clearColor로 만들려고 시도했지만 변경 사항이 없습니다.
이 문제를 해결하는 방법?
답변
// Fix for iOS 7 to clear backgroundColor
cell.backgroundColor = [UIColor clearColor];
cell.backgroundView = [[UIView new] autorelease];
cell.selectedBackgroundView = [[UIView new] autorelease];
cellForRowAtIndexPath에서
또한 tableview에 실제로 투명한 배경이 있는지 확인하십시오 (스토리 보드에서).
답변
이것을 넣어 :
cell.backgroundColor = [UIColor clearColor];
이 섹션의:
cellForRowAtIndexPath
답변
먼저 backgroundView를 nil로 설정하십시오.
[self.tableView setBackgroundView:nil];
[self.tableView setBackgroundColor:[UIColor clearColor]];
이것이 iOS7 문서의 변경인지 또는 항상 존재했고 배경색에 영향을 미치지 않았는지 확실하지 않지만 UITableView 클래스 참조 @property backgroundView
“테이블 뷰의 배경색을 설정하려면이 속성을 nil로 설정해야합니다.”
편집 : 수정 된 코드 구문
답변
이것은 대답되었지만 많은면에서 잘못되었습니다.
아래 대리자 메서드를 구현해야합니다.
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
[cell setBackgroundColor:[UIColor clearColor]];
}
셀이 렌더링 된 이후이므로 cellForRowAtIndexPath에 수정 사항을 넣을 수 없으며 배경이 지워지기 전에 흰색 배경이 깜박입니다 (더 느린 장치에서).
이 위임 방법을 사용하면 문제가 해결됩니다!
답변
실제로 셀 배경색을 변경하는 공식적으로 올바른 위치는 문서 ( UITableViewCell Class Reference ) 에 따라 다릅니다 .
미리 정의 된 셀을 사용하든 사용자 지정 셀을 사용하든 backgroundView 속성을 사용하거나 상속 된 backgroundColor 속성을 변경하여 셀의 배경을 변경할 수 있습니다. iOS 7에서 셀은 기본적으로 흰색 배경을가집니다. 이전 버전의 iOS에서 셀은 주변 테이블보기의 배경색을 상속합니다. 셀의 배경색을 변경하려면 테이블 뷰 델리게이트의 tableView : willDisplayCell : forRowAtIndexPath : 메소드에서 변경하십시오.
답변
신속한 3, 4 및 5
cell.backgroundColor = UIColor.clear
답변
이것은 매우 실망스러운 문제입니다. 내 현재 솔루션은 다음과 같습니다.
이것을 UITableViewCell
하위 클래스에 추가하십시오 .
- (void)didMoveToSuperview {
[super didMoveToSuperview];
self.backgroundColor = [UIColor clearColor];
}
