【问题标题】:Uibutton contraints in two layouts两种布局中的 uibutton 约束
【发布时间】:2014-01-24 06:24:29
【问题描述】:
我仍在努力了解约束和总体上的客观 c 最佳实践。
我需要根据变量动态创建 1 到 6 个 UIButton。我对这部分没意见,但对如何定位它们感到困惑:
- 按钮的数量可以是 1-6 之间的任何值。
- 按钮的大小必须相同。
- 横向和纵向将有不同的布局。
- 它们必须在横向视图中向左“浮动”并在纵向视图中垂直对齐顶部。
我猜我需要一个位于视图底部并根据方向改变高度的容器,然后根据容器宽度对内部的按钮进行规则。但是我不知道该怎么做。
【问题讨论】:
标签:
ios
objective-c
ios7
uibutton
autolayout
【解决方案1】:
从长远来看,使用UICollectionView 会更好。子类UICollectionView 并将其添加到您的故事板中。为您的视图控制器创建一个集合视图的出口,并设置其委托和数据源。将<UICollectionViewDelegate> 和<UICollectionViewDataSource> 添加到您的视图控制器并实现委托方法。对于按钮,使用 UIButton 作为其子视图创建自定义 UICollectionViewCell。然后在cell:ForRowAtIndexpath:方法中,初始化UICollectionViewCell子类,并设置UIButton的属性。这可能不是您想要的答案,但就布局而言,UICollectionView 提供了更大的灵活性。你可以阅读更多关于UICollectionViewDelegateFlowLayouthere的信息。