У меня есть 3 столбца и несколько строк представления коллекции. В моем sizeForItemAtIndexPath
я возвращаю динамический CGSize
, например:
return CGSizeMake(_sponsoredCollectionView.frame.size.width/3 - 7, (_sponsoredCollectionView.frame.size.width/3 - 7 + nameHeight + cuisineHeight + addressHeight + timingHeight + paddings));
Но с указанным выше размером моя последняя ячейка не отображается (я не понимаю почему, поскольку возвращаемая высота аналогична предыдущей ячейке, и для ее отображения достаточно места, так как предыдущие ячейки сделали), см. скриншот ниже:
И когда я жестко закодирую размер следующим образом:
return CGSizeMake(_sponsoredCollectionView.frame.size.width/3 - 7,250);
Это показано (ячейка с названием KEKOU, но очевидно с большим количеством пустых мест сверху и снизу из-за высоты жесткого кода 250, см. Скриншот ниже:
Кроме того, я делаю следующее, чтобы CollectionView изменял размер в соответствии с ячейками после переопределения
[_sponsoredCollectionView reloadData];
dispatch_async(dispatch_get_main_queue(), ^{
_sponsoredCollectionViewHeightConstraint.constant = _sponsoredCollectionView.collectionViewLayout.collectionViewContentSize.height + 0;
});
Я не могу понять, в чем проблема: S Пожалуйста, помогите!