添加 CollectionView 或 ViewController 到 AlertView

Add CollectionView or ViewController to AlertView

我有一个这样的集合视图:

包括文本字段和按钮。我将此视图呈现为弹出窗口,但问题是我希望按钮在一行上(按钮也是集合视图的一个单元格)所以有 2 个问题:

要在一行中设置按钮,您需要更新您的按钮 Constraint.set 两个按钮的宽度都为等宽并对齐两个按钮的顶部和底部约束。

将您的两个按钮都拉到 stackView 并仅绘制一个按钮的宽度和高度约束,并使另一个遵循前一个按钮的宽度和高度。 stackView 将完成剩下的工作。

不要忘记为 stackView 添加约束。 :)

我只是将宽度和高度约束拉到第一个按钮,并从 stackView 视图中我设置填充均匀和间距 10

您是否尝试过实施 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 可以将它们并排放置,因为它space 足以容纳它们。