Добавить CollectionView или ViewController в AlertView
У меня есть представление коллекции, как это:
включить текстовые поля и кнопки. Я представил это представление как всплывающее окно, но проблема в том, что я хочу, чтобы кнопки были в одной строке (кнопка также является ячейкой представления коллекции), поэтому есть 2 вопроса:
- Как изменить размер кнопок, чтобы они помещались в одну строку, но не влияли на размер текстового поля
- Или как добавить представление коллекции в представление предупреждений, чтобы мне было проще нажимать кнопку действий?
3 ответа
Вы пытались реализовать UICollectionViewDelegateFlowLayout
?
Если нет, попробуйте сделать это и добавьте метод
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
// Implement the code here, check if the indexPaths belong to the buttons,
// And make it return a Size which has a width that is half of the CollectionView width (minus the padding between cells).
}
Это позволяет CollectionView размещать их рядом, так как у них будет достаточно места для них обоих.
Чтобы установить кнопку в одну строку, вам нужно обновить кнопку Constraint.set ширину обеих кнопок равной ширине и выровнять верхнее, нижнее ограничение обеих кнопок.
Вытяните обе кнопки в stackView и нарисуйте ограничение ширины и высоты только одной кнопки, а другую следуйте ширине и высоте предыдущей кнопки. stackView сделает всю остальную работу.
Не забудьте добавить ограничение для stackView.:)
Я просто вытягиваю ограничение ширины и высоты на первую кнопку, и из представления stackView я устанавливаю равную заливку и взаимное расстояние.