2016-05-06 3 views
9

Я установил несколько горизонтальных прокруток UICollectionView (ы) в пределах UITableView, поэтому я могу прокручивать по вертикали.Размер ячейки таблицы для горизонтального UICollectionView в UITableView

Одна проблема, с которой я столкнулся, заключается в том, что высота строки для представления таблицы вызывается до того, как я знаю, насколько высока она должна быть (я хочу, чтобы вся высота каждого UICollectionView заполняла ячейку вида таблицы).

Как я могу решить это?

ответ

1

Мое предложение было бы создать пользовательский макет для коллекции. Затем он может вычислить размер ячейки и получать уведомления при изменении размера коллекции.

+0

Как это получить в режиме просмотра таблицы? Можете ли вы предоставить более подробную информацию (например, примеры кода)? – Boon

1

С помощью этой функции вы можете определить высоту collectionView.

Позвоните по номеру collectionViewContentSize и получите информацию по высоте и ширине содержания в форме CGSize.

ИЛИ

-(CGFloat)collectionViewHeight 
{ 
    [collectionView layoutIfNeeded]; 

    return [collectionView contentSize].height; 
} 
+0

Как это получить в режиме просмотра таблицы? Можете ли вы предоставить более подробную информацию (например, примеры кода)? – Boon

1

Создайте переменную для своей высоты, и возвращает эту переменную в методе heightForRowAtIndexPath. Затем перезагрузите таблицуView, как только вы выясните свой рост.

var height: CGFloat = 44 

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    return height 
} 

func something() { 

    height = 1234//Or whatever your height should be 
    self.table.reloadData() 

}