TableView не заполняется, пока я не прокручиваю ячейку после изменения высоты ячейки - PullRequest
0 голосов
/ 10 августа 2010

Я создал собственное представление TableCell, которое заполняется информацией из массива объектов. Каждый TableCell загружается в

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

     static NSString *CellIdentifier = @"CellIdentifier";

     Cell *cell = (Cell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

     if (cell == nil) {
         NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"Cell" owner:self options:nil];
         cell = [nib objectAtIndex:0];
     }

     NSUInteger row = [indexPath row];
     NSDictionary *rowData = (NSDictionary *)[self.surveys objectAtIndex:row];

     cell.info1.text = [rowData objectForKey:@"info1"]; 
     cell.info2.text = [rowData objectForKey:@"info2"]; 
     cell.info3.text = [rowData objectForKey:@"info3"];
     cell.otherInfo = [rowData objectForKey:@"otherInfo"];

     return cell;
}

В дополнение к этому здесь я указываю собственную высоту для ячейки

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
 {
     return 76.0;
 }

Когда значение для tableView: heightForRowAtIndexPath: равно 76, оно загружает все ячейки, которые я вижу, и они не являются пустыми. Не изменяя ничего в коде, я могу изменить значение в tableView: heightForRowAtIndexPath: и оно будет показывать только первое значение ячейки при загрузке представления. Когда я прокручиваю вниз, они обновляются со значением, как только их верхний край достигает верхней части экрана. Когда я возвращаюсь к вершине и растягиваю вид, чтобы он отскочил назад, нижние исчезают.

Насколько я могу судить, изменение высоты каким-то образом влияет на то, как они загружаются, но я не могу понять, как это происходит.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2011

Еще одна вещь, на которую следует обратить внимание, это не только размер ячейки пользовательского табличного представления, но и высота других вложенных представлений.

У меня была эта проблема, когда один из моих объектов UIImageView был выше высоты ячейки, это вызвало бы ту же самую проблему.

Спасибо за пост, так как он помог мне разобраться и в моей проблеме.+1 (не дайте мне проголосовать, извините)

0 голосов
/ 10 августа 2010

Я указал высоту в пользовательской ячейке .xib, которая отличалась от той, которую я указывал в коде. Как только это было изменено, чтобы соответствовать размеру, указанному в коде, проблема исчезла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...