添加 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 足以容纳它们。
我有一个这样的集合视图:
包括文本字段和按钮。我将此视图呈现为弹出窗口,但问题是我希望按钮在一行上(按钮也是集合视图的一个单元格)所以有 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 足以容纳它们。