uitableviewcell textLabel 배경 색상 변경을 지우기 위해 변경합니다
-
18-09-2019 - |
문제
내 앱에는 CustomViewCells가있는 테이블보기가 있습니다. 나는 uitableviewcell 클래스를 서브 클래스하고 Async를로드 할 이미지와 내가 사용하는 텍스트를 추가했습니다. cell.textLabel.text = @"someThext"
.
셀의 경우 배경색이 대안 적으로 설정됩니다. [UIColor darkGrayColor]
그리고 [UIColor whiteColor]
.
시뮬레이터와 전화에서 앱을 실행할 때 textLabel
셀의 배경은 흰색을 가지고 있습니다. 나는 셀의 배경색이 스트립이 아닌 다른 스트립보다 흰색이 아닌 가득 차기를 원하기 때문에 명확하게 설정하고 싶습니다.
내 사용자 정의 셀의 초기 방법에서 나는 흰색이 빨간색으로 변하기를 바라고 추가했지만 효과가 없습니다.
[self.textLabel setBackgroundColor:[UIColor redColor]];
나는 또한 시도했다 :
self.textLabel.backgroundColor = [UIColor redColor];
그러나 이것은 또한 작동하지 않았습니다 ... Uilabel을 하위 뷰로 추가하면 레이블의 배경색을 설정할 수 있지만 전화를 회전 할 때 라벨을 자동으로 원하기 때문에 그렇게하고 싶지 않습니다. 크게 하다.
배경색을 설정하는 아이디어 cell.textLabel
작동하지 않습니까?
고맙습니다
해결책 2
문제는 Uikit이 셀 배경색을 -세트 선택된 방법으로 설정한다는 것입니다. 나는 방법이 있었지만 self.textlabel.backgroundcolor = [uicolor clearcolor]; self.detailTextLabel.backgroundColor = [UICOLOR CLEARCOLOR]; 그것에 그것들을 추가하고 그림에 언급 된 문제가 고정되었습니다.
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
self.textLabel.backgroundColor = [UIColor clearColor];
self.detailTextLabel.backgroundColor = [UIColor clearColor];
}
다른 팁
uitableviewcell 서브 클래스를 원하지 않으면 다음을 추가 할 수 있습니다.
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
[[cell textLabel] setBackgroundColor:[UIColor clearColor]];
[[cell detailTextLabel] setBackgroundColor:[UIColor clearColor]];
}
애플이 여기에서 뭔가를 바꾸는 것 같습니다. iOS4에서 정확하게 이것을 수행합니다.
self.textLabel.backgroundColor = [UIColor xxxColor];
self.detailTextLabel.backgroundColor = [UIColor xxxColor];
적어도 라벨 배경이 투명하거나 배경색을 취하는 지점까지. 여전히 자체 배경색을 설정할 수 없습니다.
기본 SDK 4.1 및 Min으로 개발되면 테스트 중에 약간 놀랍습니다. iPhone Classic 및 iPad 용 배포 3.1.
명확한 배경색을 설정하려면 ClearColor를 사용할 수 있습니다.
[[cell textLabel] setBackgroundColor:[UIColor clearColor]];
이게 네가 뜻한 바냐?
이 게시물 참조 : UitableViewCellSelectionStyle 속성을 사용자 정의 색상으로 어떻게 설정합니까?
귀하의 경우 흰색 배경색이있는 UIVIEW를 사용하십시오.
나는 그것을 시도하지 않았지만 여기에 추측이 있습니다 ... 더 빨리 그려주기 위해 라벨의 불투명 속성이 기본적으로 true로 설정 될 수 있습니다.
노력하다
cell.titleLabel.opaque = NO;
cell.titleLabel.backgroundColor = [UIColor clearColor];
그것이 작동하지 않으면이 시점에서 포기하고 셀을 위해 내 자신의 uilabel을 만들 것입니다.
TextLabel의 색상을 설정하려면 다음을 수행해야합니다. T.TextColor = [UICOLOR COLORYOUWANTRGB];