我有这样一个集合视图: 添加的CollectionView或视图控制器来AlertView
包括文本框和按钮。我提出这个视图作为popover,但问题是我想按钮在一行(按钮也是一个集合视图单元格),所以有2个问题:
- 如何更改按钮大小以适合在一行,但不影响文本字段的大小
- 或者如何将集合视图添加到警报视图,所以我有操作按钮更容易?
我有这样一个集合视图: 添加的CollectionView或视图控制器来AlertView
包括文本框和按钮。我提出这个视图作为popover,但问题是我想按钮在一行(按钮也是一个集合视图单元格),所以有2个问题:
你试过实施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把它们并排,因为它必须对他们俩的足够的空间。
我尝试过,但按钮也是集合视图的单元格,所以如果我设置它的大小,它也会影响到文本区域的大小:( – Hungcao
您不应该为所有单元格返回相同的CGSize。您应该检查索引路径并为按钮的indexPath返回一个较小的CGSize。 – TawaNicolas
在一行中设置按钮,您需要更新您的按钮Constraint.set将按钮宽度设置为等宽,并对齐两个按钮的顶部,底部约束。
将两个按钮都拉到stackView并只绘制一个按钮的宽度和高度约束,并使其他按钮的宽度和高度跟随前一个按钮的宽度和高度。 stackView将完成其余的工作。
不要忘记为stackView添加约束。 :)
我只是拉宽度和高度约束的第一个按钮,并从stackView观点我同样设置填充和interdistance 10
如果每个按钮在分隔的单元格中,那么在同一个单元格中添加两个按钮呢? –
仅供参考 - Swift 2已老,不再支持。 Swift 4即将推出。该升级了。 – rmaddy