2
안녕하세요. 내 tableviewcell에 이상한 문제가 있습니다. 시뮬레이터에서 실행할 때. 그것은 이미지 1.iOS 7 TableviewCell 컬러 라인
같이 적절한 레이아웃을 보여줍니다하지만 장치에서이 프로그램을 실행할 때. 이미지 2와 같이 앱의 모든 테이블 뷰에 색칠 된 선이 표시됩니다.
iOS 7에서는 이와 관련이 있습니까? tablview : willDisplayCell :에서 셀의 배경색을 지 웠습니다.
코드
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
BarsCustomCell *cell= [BarsCustomCell resuableCellForTableView:tableView withOwner:self];
Bars *currentValue= [self.data objectAtIndex:indexPath.row];
if(indexPath.row==(self.data.count-1)){
[cell updateWithBars:currentValue isLast:YES isFirst:NO] ;
}else if (indexPath.row==0){
[cell updateWithBars:currentValue isLast:NO isFirst:YES] ;
}else{
[cell updateWithBars:currentValue isLast:NO isFirst:NO] ;
}
}
및 업데이트에 대한 Tableviewcell의 sublcassm 방법입니다.
-(void) updateWithBars:(Bars *)bars isLast:(BOOL)isLast isFirst:(BOOL)isFirst{
self.nameLbl.text= bars.name;
self.addressLbl.text= bars.vicinity;
double distance = [[[LOTVLocationManager sharedManager] mockedLocation] distanceFromLocation:bars.location];
self.distanceLbl.text= [NSString stringWithFormat:@"%.2f km",distance/1000];
if(isFirst){
self.bgImageview.image= [UIImage imageNamed:@"sport_top_bg.png"];
self.nameLbl.center= CGPointMake(self.nameLbl.center.x, self.nameLbl.center.y+3);
}
else if(isLast){
self.bgImageview.image= [UIImage imageNamed:@"sport_bottom_bg.png"];
self.addressLbl.center= CGPointMake(self.addressLbl.center.x, self.addressLbl.center.y-3);
}
}
당신은 이렇게 말합니다 : "장치에서 이것을 실행하면 이미지 1과 같은 적절한 레이아웃을 보여줍니다." 그리고 : "하지만 장치에서 실행하면 이미지 2와 같이 모든 tableviews에서 색상이 표시됩니다." 차이점은 무엇입니까? 당신은 언제나 장치에서 작동합니까? 또는 어쩌면 당신은 시뮬레이터를 의미했습니다. – Ilario
죄송합니다. 나는 그것을 편집했다. 1 번째 시뮬레이터였습니다. 요점을 가져 주셔서 감사합니다. – Saad
"- (UITableViewCell *) tableView : (UITableView *) tableView cellForRowAtIndexPath : (NSIndexPath *) indexPath"또는 UITableViewCell 하위 클래스에 코드를 게시 할 수 있습니까? – KudoCC