UITableViewCell
인스턴스의 contentView
하위 뷰로 UILabel
인스턴스를 추가하려고합니다.Blurry UITableViewCell contentView의 프로그래밍 하위 뷰로
셀을 선택하면 레이블의 배경을 제외하고 행이 파란색으로 강조 표시됩니다. 라벨 텍스트가 선명합니다.
레이블 및 콘텐츠보기 backgroundColor
속성을 [UIColor clearColor]
으로 설정하면 레이블 텍스트가 흐리게됩니다.
라벨 텍스트를 선명하게 유지하면서 행 강조 표시를 허용하려면 라벨 배경색을 지우려면 어떻게해야합니까?
다른 곳에서 읽은 제안 중 하나는 round
라벨의 frame
값 이었지만 아무런 영향이 없었습니다. 여기에 코드
내 사용자 정의 UITableViewCell
서브 뷰의 -setNeedsLayout
방법의 조각이다 : 나는이 문제에 실행
UILabel *_objectTitleLabel = [[UILabel alloc] initWithFrame:CGRectNull];
_objectTitleLabel.text = [self.awsObject cleanedKey];
_objectTitleLabel.font = [UIAppDelegate defaultObjectLabelFont];
_objectTitleLabel.highlightedTextColor = [UIColor clearColor]; //[UIAppDelegate defaultLabelShadowTint];
_objectTitleLabel.backgroundColor = [UIColor clearColor]; //[UIAppDelegate defaultWidgetBackgroundTint];
_objectTitleLabel.frame = CGRectMake(
kCellImageViewWidth + 2.0 * self.indentationWidth,
0.5 * (self.tableView.rowHeight - 1.5 * kCellLabelHeight) + kCellTitleYPositionNudge,
contentViewWidth,
kCellLabelHeight
);
_objectTitleLabel.frame = CGRectIntegral(_objectTitleLabel.frame);
_objectTitleLabel.tag = kObjectTableViewCellTitleSubviewType;
//NSLog(@"_objectTitleLabel: %@", NSStringFromCGRect(_objectTitleLabel.frame));
[self.contentView addSubview:_objectTitleLabel];
[_objectTitleLabel release], _objectTitleLabel = nil;
...
self.contentView.backgroundColor = [UIAppDelegate defaultWidgetBackgroundTint];
self.contentView.clearsContextBeforeDrawing = YES;
self.contentView.autoresizesSubviews = YES;
self.contentView.clipsToBounds = YES;
self.contentView.contentMode = UIViewContentModeRedraw;
소스 코드를 게시 할 수 있습니까? –
추가 코드 스 니펫을 참조하십시오. –