Я искал в Интернете часами, но я не могу найти решение моей проблемы.Как назначить определенный ViewController UIView (в UICollectionView)?
У меня есть View в моей раскадровке, который содержит UICollectionView. Я установил ячейки UICollectionView, чтобы быть действительно большими (только один может появиться на экране, вам нужно прокручивать по горизонтали, чтобы увидеть остальные). В моем приложении я использую этот макет, чтобы задать пользователю несколько вопросов один за другим. Пользователь может ответить на эти вопросы, коснувшись кнопок, передвигаться по карте, выбирать дату и т. Д.. Каждый вопрос имеет один и тот же макет; они отображаются в поле с надписью названия и кнопкой. Вот почему я решил использовать UICollection View.
Я хочу отобразить конкретное представление (параметры, которые позволяют пользователю отвечать (кнопки, Map, DatePicker и т. Д.)) Для каждого вопроса в синем прямоугольнике (см. Рисунок ниже).
Моя идея состояла в том, чтобы создать несколько ViewControllers в моем раскадровки и быть в состоянии сказать: «Хорошо, первый вопрос (первая ячейка), положить вид XXX в контейнере, для второго, поместите вид YYY и т. д. ».
Как это сделать?
Я попытался добавить ContainerView, но мы можем связать только один вид в раскадровке.
Я хочу, чтобы иметь возможность сделать что-то вроде этого:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! SearchQuestionBox
cell.questionAnswersZone.view = storyboard.viewNumberOne //Just for the idea haha
return cell
}
Вы можете создать собственную ячейку коллекции для каждого вопроса, если вы хотите показать их в виде коллекции. – tbilopavlovic
Почему бы и нет, но мне нужно будет поместить заголовок и кнопку в каждую ячейку пользовательской коллекции, и если я решит что-то изменить, мне придется изменить ее на каждом, что не очень чисто ... Нет? – Tim
Затем создайте пользовательский вид, загрузите его из xib и добавьте в качестве подзадача в пользовательскую ячейку. Пользовательская ячейка будет иметь заголовок и кнопку, и представление, которое будет вести себя как контейнер для вашего пользовательского представления – tbilopavlovic