UITableViewCell은 흰색 배경을 표시하며 iOS7에서는 수정할 수 없습니다.
는 이 이 셀클래스는 이 입니다.UITableViewCell
테이블 뷰에는 배경 이미지가 포함되어 있기 때문에 셀의 배경을 투명하게 하고 싶습니다.i 이전 버전에서는 .OS7 の os os os os os os 。
그러나 iOS7에서는 항상 흰색 배경으로 셀이 표시됩니다.
2015년 Xcode7에서도 스토리보드에 버그가 있어 셀의 배경색을 코드로 설정해야 합니다.
Apple DOC가 밝힌 (UITable View Cell 클래스 레퍼런스):
iOS 7에서는 기본적으로 셀의 배경이 흰색이지만 iOS 이전 버전에서는 셀이 둘러싸인 테이블 뷰의 배경색을 상속합니다.셀의 배경색을 변경하려면 테이블 뷰 위임자의 테이블뷰:willDisplayCell:forRowAtIndexPath: 메서드에서 변경합니다.
따라서 투과적인 배경을 가진 셀을 표시하려면 다음과 같이 테이블뷰 컨트롤러에 위임 메서드를 구현해야 합니다.
- (void)tableView:(UITableView *)tableView
willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath
{
[cell setBackgroundColor:[UIColor clearColor]];
}
참고 사항:@null은 "...인터페이스 빌더에 버그가 있는 것 같다"고 말했지만, 버그가 있는지는 확실히 알 수 없지만, 그의 코멘트가 몇 개의 표를 얻은 것 같습니다.따라서 IB를 사용하면 문제가 발생할 수 있습니다. : )
조금 조사해보니 셀 backgroundColor는 Affectance system으로 설정되어 있더군요.따라서 어플리케이션의 모든 셀이 명확한 배경을 가지고 있는 경우 가장 쉬운 해결책은 다음과 같습니다.
[[UITableViewCell appearance] setBackgroundColor:[UIColor clearColor]];
또, 배경은 달라도, 디폴트로는 선명한 컬러가 가장 편리할 것 같습니다.
셀에 쓰기 ForRowAt반환 셀 이전의 IndexPath 메서드.
cell.backgroundColor = [UIColor clearColor];
" " " "UITableViewCell
입니다.iOS 7 os os os os 。
'어울릴 수 없다'를 돼요.backgroundColor
코드의 어딘가에 속합니다.예를 들어 셀을 새로 작성한 후 설정합니다.
cell.backgroundColor = [UIColor clearColor];
실제로 UITableView의 배경색이 clear로 설정되어 있지 않아 문제가 발생하였습니다.UITableViewCell의 배경색을 지우도록 변경했는데도 여전히 흰색인 경우 UITableView의 배경색이 지우도록 설정되어 있는지 확인합니다.
[self.tableView setBackgroundView:nil];
[self.tableView setBackgroundColor:[UIColor clearColor]];
인스위프트
tableView.backgroundView = nil
tableView.backgroundColor = UIColor.clearColor()
【iOS】★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」 8의 iOS 8의 Interface Builder
iPhone입니다.whiteColor
하려면 , 「 ★★★★★★★★★★★★★★★★★★★★★★★★」cellForIndexPath
" " " " " , " :
cell.backgroundColor = cell.backgroundColor
그리고 효과가 있을 거야이것이 바로 제가 코드 자체가 거의 bullsh*t이기 때문에 버그라고 말한 이유입니다만, 동작하고 있습니다.
UITableViewCell이 기본적으로 선택되어 있을 수 있습니다.Xcode 6s의 새로운 비주얼 디버거를 사용하여 이를 확인할 수 있습니다(또는 이 흰색 셀이 나타나는 원인이 되는 뷰를 정확하게 찾을 수 있습니다).
흥미롭게도, 이것을 알고 나서..선택한 셀의 배경색을 지우도록 설정해도 작동하지 않았습니다.조사를 좀 더 했더니, 이 커스텀 셀을 만들 때 선택 스타일을 수정해야 했습니다.
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// do customization here
}
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self setBackgroundColor:[UIColor clearColor]];
return self;
}
XCode 5.1.1, iOS 7.1에서는 위의 어느 것도 동작하지 않았습니다.
Interface Builder를 프로토타입 셀과 함께 사용하는 경우 프로토타입 셀을 선택한 다음 View 섹션의 Attribute Selector에서 Background 폼 기본값을 Clear Color로 변경합니다.
이거 잘 되는 것 같아.위의 코드 변경도 필요하지 않습니다.이것은 순수한 IB 솔루션입니다.
받아들여진 답변으로는 문제가 해결되지 않았다.어쩔 수 없었어요
- 인터페이스 빌더에서 테이블뷰를 선택합니다.그런 다음 속성 검사기의 View 섹션에서 Background를 transparent(0% 불투명도)로 설정합니다.
테이블의 데이터 원본 클래스 cellForRowAt에서IndexPath 메서드:
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; cell.backgroundColor = [UIColor clearColor]; //Make cell transparent
Swift 1.2 솔루션:
다음과 같이 셀 배경색에 대한 명확한 정의를 추가합니다.
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// Configure the cell...
cell.backgroundColor = UIColor.clearColor()
return cell
}
는 내설을 설정한다.cell.backgroundColor = cell.contentView.backgroundColor;
tableView:willDisplayCell:forRowAtIndexPath:
★★★★★★★★★★★★★★★★★」tableView:cell:forRowAtIndexPath:
그 일을 해냈지
이는 Interface Builder에서 contentView의 배경색을 원하는 대로 설정했기 때문입니다.
UI 객체를 셀에 추가할 때 Xcode 5/IOS 7은 셀 내의 모든 요소의 슈퍼 뷰가 되는 새로운 "콘텐츠 뷰"를 추가합니다.셀의 배경색을 설정하려면 내용 보기의 배경색을 설정하십시오.위의 솔루션은 나에게 효과가 없었지만, 이 솔루션은 나에게 효과가 있었다.
비슷한 문제가 있어서 어쩔 수 없이
- 파란색을 선택으로 설정합니다Style 및
이것을 코드에 추가하여 수정하다
override func tableView(tableView: UITableView, shouldHighlightRowAtIndexPath indexPath: NSIndexPath) -> Bool { var bgColorView: UIView = UIView() bgColorView.backgroundColor = UIColor(red: (76.0 / 255.0), green: (161.0 / 255.0), blue: (255.0 / 255.0), alpha: 1.0) bgColorView.layer.masksToBounds = true tableView.cellForRowAtIndexPath(indexPath)!.selectedBackgroundView = bgColorView return true }
또한 색상 코드를 사용하여 UITableViewCell을 수익성 있게 만들 수도 있습니다.
[cell setBackgroundColor:[self colorWithHexString:@"1fbbff"]];
색상 코드 방법을 적용하기 위한 코드는 다음과 같습니다.
-(UIColor*)colorWithHexString:(NSString*)hex
{
NSString *cString = [[hex stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
if ([cString length] < 6) return [UIColor grayColor];
if ([cString hasPrefix:@"0X"]) cString = [cString substringFromIndex:2];
if ([cString length] != 6) return [UIColor grayColor];
NSRange range;
range.location = 0;
range.length = 2;
NSString *rString = [cString substringWithRange:range];
range.location = 2;
NSString *gString = [cString substringWithRange:range];
range.location = 4;
NSString *bString = [cString substringWithRange:range];
unsigned int r, g, b;
[[NSScanner scannerWithString:rString] scanHexInt:&r];
[[NSScanner scannerWithString:gString] scanHexInt:&g];
[[NSScanner scannerWithString:bString] scanHexInt:&b];
return [UIColor colorWithRed:((float) r / 255.0f)
green:((float) g / 255.0f)
blue:((float) b / 255.0f)
alpha:1.0f];
}
언급URL : https://stackoverflow.com/questions/18878258/uitableviewcell-show-white-background-and-cannot-be-modified-on-ios7
'programing' 카테고리의 다른 글
grep로 한 단어를 제외하려면 어떻게 해야 하나요? (0) | 2023.04.21 |
---|---|
IIS8의 WCF. *.svc 핸들러 매핑이 작동하지 않음 (0) | 2023.04.21 |
WPF UI 렌더링 속도를 향상시키는 방법 (0) | 2023.04.16 |
Git에서 한 파일의 작업 복사 수정 내용을 실행 취소하시겠습니까? (0) | 2023.04.16 |
크로스 조인이나 데카르트 제품을 엑셀로 하는 방법이 있나요? (0) | 2023.04.16 |