У меня есть собственный класс ячеек с XIB, и я использую экземпляр пользовательского класса ячейки для tableview.TableView Высота ячейки ячейки не установлена динамически
У меня есть два размера ячеек, один 220 и другой 360.
я установить высоту ячейки во время выполнения с помощью heightForRowAtIndex метода,
, но он не работает для меня.
, когда я прокрутка вниз, высота не установлена, и показывает, как этот
и когда я прокрутка вверх, клетка сходящей показать правильную высоту
как этот:
здесь мой TableView класс клеток XIB:
, его очень странная проблема, с которой я столкнулся с использованием tableviews.i, пробовал разные решения, но не работал. вот мой код:
//code in celllForRow
UIColor * color=[UIColor colorWithRed:102.0/255.0 green:110.0/255.0 blue:124.0/255.0 alpha:1.0];
static NSString *CellIdentifier = @"cell";
FBTransportersEvaluationsCell *cell = (FBTransportersEvaluationsCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [FBTransportersEvaluationsCell getInstance];
}
if ([[[[evaluationsArray valueForKey:@"evaluationAnswer"]objectAtIndex:indexPath.row]valueForKey:@"message"] isEqual:@""] || [[[evaluationsArray valueForKey:@"evaluationAnswer"]objectAtIndex:0]valueForKey:@"message"]==(id)[NSNull null]) {
cell.evaluationAnserSentTimeLabel.hidden=YES;
cell.evaluationAnserSentDateLabel.hidden=YES;
cell.evaluationAnswerSentByLabel.hidden=YES;
cell.evaluationAnswerTextView.hidden=YES;
cell.evaluationAnswerSingleLineView.hidden=YES;
cell.evaluationResponceBigImg.hidden=YES;
cell.evaluationAnswerSentDateImg.hidden=YES;
cell.evaluationAnswerSentByTag_.hidden=YES;
self.sendEvaluationResponceButton.hidden=NO;
//
}
else
{
cell.evaluationAnserSentTimeLabel.hidden=NO;
cell.evaluationAnserSentDateLabel.hidden=NO;
cell.evaluationAnswerSingleLineView.hidden=NO;
cell.evaluationResponceBigImg.hidden=NO;
cell.evaluationAnswerSentByLabel.hidden=NO;
cell.evaluationAnswerTextView.hidden=NO;
self.sendEvaluationResponceButton.hidden=YES;
cell.evaluationContentBigImage.image=[UIImage imageNamed:@"responce-img.png"];
cell.evaluationAnswerTextView.text=[NSString stringWithFormat:@"\"%@ \" ",[[[evaluationsArray valueForKey:@"evaluationAnswer"]objectAtIndex:indexPath.row]valueForKey:@"message"]];
cell.evaluationAnswerSentByLabel.text=[NSString stringWithFormat:@"%@",[[FBUserManager sharedUserManager]userName]];
NSString * str = [NSString stringWithFormat:@"%@",[[[evaluationsArray valueForKey:@"evaluationAnswer"]objectAtIndex:indexPath.row]valueForKey:@"date_evaluation_answer"]];
NSArray * arr = [str componentsSeparatedByString:@" "];
cell.evaluationAnserSentDateLabel.text=[arr objectAtIndex:0];
cell.evaluationAnserSentTimeLabel.text=[arr objectAtIndex:1];
}
/// code in heightForRow
if ([[[[evaluationsArray valueForKey:@"evaluationAnswer"]objectAtIndex:indexPath.row]valueForKey:@"message"] isEqual:@""] || [[[evaluationsArray valueForKey:@"evaluationAnswer"]objectAtIndex:0]valueForKey:@"message"]==NULL) {
return 220;
}
else
{
return 360;
}
И в прошлом здесь ссылка 15 секунд видео моего вопроса: Video link
Из видео, кажется, все ваши камеры имеют высоту 360. Похоже, что какой-то вид на белом фоне блокирует верхнюю часть вашей ячейки. Вы можете попытаться установить cell.contentView.backgroundColor или даже backgroundColor таблицы, чтобы увидеть, есть ли там такой блокирующий вид. –