2017-05-31 34 views
0

我有这样一个集合视图: enter image description here添加的CollectionView或视图控制器来AlertView

包括文本框和按钮。我提出这个视图作为popover,但问题是我想按钮在一行(按钮也是一个集合视图单元格),所以有2个问题:

  • 如何更改按钮大小以适合在一行,但不影响文本字段的大小
  • 或者如何将集合视图添加到警报视图,所以我有操作按钮更容易?
+0

如果每个按钮在分隔的单元格中,那么在同一个单元格中添加两个按钮呢? –

+0

仅供参考 - Swift 2已老,不再支持。 Swift 4即将推出。该升级了。 – rmaddy

回答

0

你试过实施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把它们并排,因为它必须对他们俩的足够的空间。

+0

我尝试过,但按钮也是集合视图的单元格,所以如果我设置它的大小,它也会影响到文本区域的大小:( – Hungcao

+0

您不应该为所有单元格返回相同的CGSize。您应该检查索引路径并为按钮的indexPath返回一个较小的CGSize。 – TawaNicolas

0

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

0

将两个按钮都拉到stackView并只绘制一个按钮的宽度和高度约束,并使其他按钮的宽度和高度跟随前一个按钮的宽度和高度。 stackView将完成其余的工作。

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

enter image description here

enter image description here

我只是拉宽度和高度约束的第一个按钮,并从stackView观点我同样设置填充和interdistance 10

enter image description here

+0

该按钮是以编程方式添加的,我不使用故事板:( – Hungcao

+0

)如果你不想使用故事板,只需以编程方式添加stackView。它非常容易,并添加你的按钮到它。这也很容易花花公子。:) –

+0

问题是按钮是我为整个项目重用而创建的UIView类,它们都具有相同的大小和相同的约束。我只需要在这个视图中改变,所以任何解决方案或我必须创建新的按钮? – Hungcao

相关问题