2015-05-05 2 views
0

У меня есть ячейка tableview, к которой я пытаюсь подключить AVPlayer.высота стола и размер рамки для просмотра?

  • создать клетки от cellforrowatindexpath
  • набора высоты для строки = 8, чтобы быть в heightforrowatindexpath 200, остальные строки используют высоту по умолчанию
  • в cellforrowsatindexpath, если строка == 8, вызовите метод customCell, который создает и AVPlayer присоединяется к cellview.contentview. Я получаю cellView, позвонив cellforrowatindexpath: row8

Однако, когда я получаю ячейку быть настроены для строки 8, размер ячейки 0 0 0 0 в результате я не мог прикрепить вид AVPlayer к клетка.

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

heightforrowatindexpath: row = 8, height = 200.000000 
cellForRowAtIndexPath: row=8 
cell.contentView.frame = {{0, 0}, {320, 199.5}}, cell.frame = {{0, 352}, {320, 200}} 
customCellView: customCell.contentView.frame ={{0, 0}, {0, 0}}, textlabel = (null) 
customCell.frame ={{0, 0}, {0, 0}} 
heightforrowatindexpath: row = 8, height = 200.000000 
+0

Можете ли вы показать нам код, который создает ячейку? –

ответ

1

Вы реализовали этот метод?

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath 

Вы можете указать размер для каждого элемента с определенным индексом. Это может быть ответом на вашу проблему.

+1

см. Решение ниже – NSCoder

0

Я понял. Я допустил ошибку в своем коде.

Я вызвал customCell в cellforrowatIndexpath, который, в свою очередь, называется cellforrowatindexpath, чтобы в первую очередь настроить камеру. Кажется, что cellforrowatindexpath возвращает nil для внутреннего вызова в этом случае. Один либо должен настроить ячейку в cellforrowatindexpath, либо передать ячейку * для customCell. Я использовал последний подход.

Смежные вопросы