两个布局中的Uibutton约束

时间:2014-01-06 18:40:12

标签: ios objective-c ios7 uibutton autolayout

我仍然试图全面了解约束和目标c最佳实践。

我需要根据变量动态创建1到6个UIButtons。我对这部分感到满意​​,但对于如何定位它们很困惑:

  1. 按钮的数量可以是1-6。
  2. 按钮的大小必须相同。
  3. 横向和纵向方向将采用不同的布局。
  4. 他们必须在横向视图中“浮动”并在纵向视图中垂直对齐顶部。

enter image description here

我猜我需要一个位于视图底部的容器,根据方向改变高度,然后根据容器宽度设置内部按钮的规则。但是如何解决它我不知道。

1 个答案:

答案 0 :(得分:1)

从长远来看,最好使用UICollectionView。子类UICollectionView并将其添加到您的Storyboard中。将集合视图的出口添加到视图控制器并设置其委托和数据源。将<UICollectionViewDelegate><UICollectionViewDataSource>添加到视图控制器并实现委托方法。对于按钮,使用UICollectionViewCell作为其子视图制作自定义UIButton。然后在cell:ForRowAtIndexpath:方法中,初始化UICollectionViewCell子类,并设置UIButton的属性。这可能不是您想要的答案,但就布局而言,UICollectionView提供了更大的灵活性。您可以阅读有关UICollectionViewDelegateFlowLayout here的更多信息。