2010-04-02 11 views
6

I는 다음과 같이 설정 사용자 지정 배경 이미지와 jQuery과가 있습니다있는 UITableViewCell 색상 문제

self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]; 

배경은 잘 나타납니다,하지만 내 UITableViewCells (기본 세포가 아닌 사용자 정의)는 어떤 종류의가 그들에게 이상한 색조가 있고, "새 프로젝트"텍스트가 들어있는 UILabel도 그 배경 뒤에 일종의 배경이있는 것 같습니다. 어떻게 제거 할 수 있습니까? 나는 이미 시도했다 :

cell.backgroundColor = [UIColor clearColor]; 
cell.textLabel.backgroundColor = [UIColor clearColor]; 

감사

alt text http://cl.ly/Cg5/content

답변

2

이것은 테이블 뷰의 backgroundColor에 곧바로 이미지를 추가하는 불쾌한 부작용이라고 생각합니다. 보기로 이미지를 추가

시도 나는이 희망

[[self tableView] setBackgroundColor:[UIColor clearColor]]; 

:의 backgroundColor가 명확하기 '의 배경 색상 다음

[[self view] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]]; 

을하고는 테이블보기 설정'을 도와 줘요!

+0

이 해냈어, 감사합니다! – indragie

+0

안녕하세요, 테이블에 배경 패턴 스크롤이 필요한 경우 어떻게해야합니까? 그래서 나는 단순히 테이블의 배경을 투명하게 만들 수 없으며 테이블 밑에 배경의 배경을 설정할 수 없습니다. – hzxu

+0

안녕하세요 hzxu, 난 당신이 [UIColor clearColor] 테이블 셀의 배경색을 설정하고 표 셀의 배경보기를 사용자 지정 이미지 (UIImageView) 설정할 경우이를 달성 할 수있을 것 같아요. 그러면 선택한 표 배경을 사용할 수 있어야합니다. 희망이 도움이됩니다. –

0

일부 시간을 당신의 시뮬레이터에 응용 프로그램 이미지를 설정하고 테스트 작업은, 그들이 약간의 응용 프로그램에 냉동받을 때 운영. 확실하지 않은 것은 이미지 파일을 삭제하더라도 마찬가지입니다. 그들은 여전히 ​​계속 튀어 나오고있다.

시뮬레이터를 휴식시킨 다음 Xcode를 다시 시작합니다. 그런 다음 시뮬레이터에서 다시 앱을 강제로 다시 빌드합니다. 배경 이미지가 아직 참조되고 있으면 이미지를 지워야합니다.

이 방법이 효과가있는 해결책이 아닌 경우 ... 충돌하는 명령이 동일한 UiTablView 개체 (IB에서 1 ​​개, Xcode에서 프로그래밍 방식으로 1 개)가 없는지 확인하십시오. 때로는 IB에서 뭔가를 설정했다는 것을 간과 할 수 있으며 프로그래밍 방식으로 말하는 것과 충돌 할 수 있습니다.

문제가 해결되지 않으면 ... IB의 연결을 확인하고 올바른 IBOutlet UITableView * 테이블 뷰를 다시 확인하십시오. 헤더에는 위임자 및 데이터 프로토콜이 있습니다.

0

당신이 배경으로 설정 한 각 셀을 갖고 싶어하고 텍스트의 배경을 제거하려면, 어쩌면 당신이 시도 할 수 있습니다 ...


- (void)viewDidLoad { 
... 
self.tableView.backgroundColor = [UIColor clearColor]; 
... 
} 

- (UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
... 
cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]; 
cell.textLabel.backgroundColor = [UIColor clearColor]; 
... 
}