2017-01-14 3 views
0

У меня есть дилемма, где у меня в моем CollectionView каждый collectionviewcell отображает разные данные и имеет разные стили границы/фона. например, фрагмент кодаХорошая практика использования охранных/if-утверждений для создания нескольких CollectionVViewCells?

let monsters: Monsters! 


    cell.graphViewIBO.isHidden = true 
    cell.monsblIBO.isHidden = true 
    cell.powersBgIBO.isHidden = true 


    guard indexPath.row != 0 else { 

     cell.indexOne(monsters) 
     return cell 
    } 
    guard indexPath.row != 1 else { 

     cell.indexTwo(monsters) 
     return cell 
    } 
    guard indexPath.row != 2 else { 

     cell.indexThree(monsters) 
     return cell 
    } 

Я чувствую, что это может быть плохой практикой и не уверен, должен ли я продолжать делать это таким образом, или просто использовать scrollview и стиль каждого uiview в нем независимо друг от друга. Потому что справа моя раскадровка содержит несколько объектов в одном collectionviewcell, которые мне нужно скрыть/показать в зависимости от того, какой индекс будет представлен. Могу ли я продолжать использовать CollectionView для этого? Какой метод является правильным методом для этого подхода?

ответ

0

Я думаю, что вы хотите использовать заявление switch. Ваш код будет выглядеть следующим образом:

let monsters: Monsters! 

cell.graphViewIBO.isHidden = true 
cell.monsblIBO.isHidden = true 
cell.powersBgIBO.isHidden = true 

switch indexPath.row { 
case 0: 
    cell.indexOne(monsters) 
case 1: 
    cell.indexTwo(monsters) 
case 2: 
    cell.indexThree(monsters) 
default: break 
} 

return cell 

Если вы изменяете ваши клетки много, вы можете создавать различные подклассы UICollectionViewCell, которые вы создаете, в зависимости от того, какого индекса. Если вы используете каждый тип ячейки только один раз, UIScrollView будет лучше. Но если вы используете один и тот же тип ячеек более одного раза (и просто меняете текст, например), вы должны использовать UICollectionView.

+0

Каждая ячейка имеет уникальный стиль, свойственный indexPath. Значит, это будет означать, что uiscrollview будет лучшим подходом? – baxu

+0

Если разница стилей - это просто другой цвет или шрифт, вы, вероятно, отлично используете 'UICollectionView', но если стиль также означает, что вид позиционирования и количество видимых видимых я бы использовал UIScrollView. –

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

  • Нет связанных вопросов^_^