저는 UITableView를 가지고 있으며 각 셀에 일부 뷰가 포함되어 있으며 뷰 중 하나는 UIImageView입니다. cellForRow 메서드에서 이미지로 UIImageView를로드하고 있지만 때로는 UIImageView가 검정색 화면을 표시하는 경우가 있습니다.UIImageView가 일관성없이 검정색이 됨
두 가지 이유가있을 수 있다고 생각했는데 - 손상된 UIImage 또는 메모리 문제 일 수 있습니다.
UIImage는 손상되지 않습니다 (UIImage는 항상 동일한 것입니다). 그리고 수동으로 손상된 이미지를 넣을 때 어떤 동작인지 확인했습니다. -> 흰색으로 바뀝니다! 검은 색이 아님 ...
메모리 경고가 있는지 확인하고, ViewDidUnload를 실행합니다. -> 아무것도 표시되지 않습니다. 시뮬레이터에서의 시뮬레이트 된 메모리 경고조차도, 아무 것도 할 수 없습니다.
다른 사람이 무슨 일이 일어나고 있는지 실마리가 있습니까?
감사합니다.
여기 내 cellForRow 메소드입니다. 기본적으로 UIWebView 및 UIImageView가 맨 위에있는 셀 목록이며 테이블이 스크롤되면 웹 뷰를 숨기고 이미지 뷰를 표시하며 반대의 경우도 마찬가지입니다. 어쩌면 내 문제와 관련이 있을지 모르지만 이미지가 동일하고 uiimagaview가 출시되지 않기 때문에 의심 스럽습니다.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ImMailMessage *message = [_messages objectAtIndex:indexPath.row];
ImFullMessageTableViewCell *cell = (ImFullMessageTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"ImFullMessageTableViewCell"];
if (cell == nil)
{
cell = [[[NSBundle mainBundle] loadNibNamed:@"ImFullMessageTableViewCell" owner:self options:nil] objectAtIndex:0];
cell.delegate = self;
//add gestures
UIPinchGestureRecognizer *pinchGesture = [[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(cellPinched:)] autorelease];
[cell addGestureRecognizer:pinchGesture];
pinchGesture.delegate = self;
UIPanGestureRecognizer *panGesture = [[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(cellPanned:)] autorelease];
panGesture.minimumNumberOfTouches = 2;
[cell addGestureRecognizer:panGesture];
panGesture.delegate = self;
}
cell.threadState = _state;
cell.mailMessage = message;
UIImage *image = [self imageForMailMessage:message];
if (!image)
{
// if no image, put the webview and reload it.
cell.webView.mailMessage = message;
cell.webViewImageView.hidden = YES;
cell.webViewImageView.image = nil;
[cell.webView reloadMailMessage];
}
else // image exists!
{
cell.webViewImageView.image = image;
// replace the web view with the recived image.
[cell replaceWebViewWithImageView];
}
return cell;
}
cellForRow 코드를 게시 할 수 있습니까? – pdesantis
귀하의 질문에보다 잘 부응하기 위해 귀하의 cellForRowAtIndexPath 코드가 필요합니다 : – Cezar
안녕하세요, cellForRow 메서드를 추가했습니다 ... –