ios - 两种布局中的 Uibutton 约束

标签 ios objective-c ios7 uibutton autolayout

我仍在努力了解约束和一般的 Objective C 最佳实践。

我需要根据变量动态创建 1 到 6 个 UIButton。我对这部分没问题,但对如何定位它们感到困惑:

  1. 按钮的数量可以是 1-6 之间的任何值。
  2. 按钮的大小必须相同。
  3. 横向和纵向将有不同的布局。
  4. 它们必须在横向 View 中“漂浮”在左侧,并在纵向 View 中垂直对齐到顶部。

enter image description here

我猜我需要一个位于 View 底部并根据方向更改高度的容器,然后根据容器宽度为内部按钮制定规则。但是我不知道该怎么做。

最佳答案

从长远来看,使用 UICollectionView 会更好.子类 UICollectionView并将其添加到您的 Storyboard 中。将 Collection View 作为 View Controller 的导出,并设置其委托(delegate)和数据源。添加<UICollectionViewDelegate><UICollectionViewDataSource>到您的 View Controller 并实现委托(delegate)方法。对于按钮,自定义 UICollectionViewCellUIButton作为它的 subview 。然后在cell:ForRowAtIndexpath:方法,初始化 UICollectionViewCell子类,并设置 UIButton 的属性.这可能不是您想要的答案,但是UICollectionView就布局而言提供了更大的灵 active 。您可以阅读更多关于 UICollectionViewDelegateFlowLayout 的信息here .

关于ios - 两种布局中的 Uibutton 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20956914/

相关文章:

iphone - 如何在模态转场后保留标签栏?

ios - trailingSwipeActionsConfigurationForRowAt 不能稳定工作

objective-c - 如何使用 NSScanner 扫描字符串

iphone - 在 UItableview 上方添加内容

ios - 在 iOS 7.0 发布时将带有基本 SDK iOS 6.1 的应用程序提交到 App Store

ios - 检查 iOS 中的应用方向(不是设备方向)

ios - 检查有效的电话号码

ios - NSDateFormatterLongStyle 字符串到 NSDate

ios - 如何在 Core Data 中自定义保存?

ios - UITextView 在 iOS 7 上绘制不正确