【问题标题】:Add multiple UIButtons as subview to UIview using Auto Layouts使用自动布局将多个 UIButtons 作为子视图添加到 UIview
【发布时间】:2013-10-15 12:31:26
【问题描述】:

我需要一些帮助来使用 Autolayout 实现这个 UI

我正在以编程方式创建 UIButton

    for (int i=0; i<10; i++) {
       UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
       btn.backgroundColor = [UIColor greenColor];
       [btn sizeToFit];
       [btn setTitle:@"user@example.com" forState:UIControlStateNormal];
       [self.myCustomView addSubview:btn];

    }

myCustomView 是在 XIB 中创建的 UIView。我已将 myCustomView 的前、后和顶部边缘固定到其 superview 。我已将 myCustomView 的高度设置为 44。

我需要使用约束将 UIButtons 作为子视图添加到 myCustomView,这样按钮应该换行到下一行,myCustomView 应该根据其子视图内容增加其高度。

http://i41.tinypic.com/3536ob6.png

实现这一点的代码片段会有所帮助

【问题讨论】:

  • 如果您以编程方式添加按钮,则必须指定框架大小...
  • 您确定要添加帧大小吗?自动布局是为了自己处理框架对吧?
  • stackoverflow.com/questions/12593153/… 访问链接可能不是关于按钮,而是一些关于自动布局的信息

标签: ios xcode5


【解决方案1】:

如果你想以编程方式使用自动布局,你可以使用 NSLayoutConstraint 或 Parus https://github.com/DAlOG/Parus 库来实现它

【讨论】:

  • 感谢这个 github 链接,但它仍然不能解决我的问题。我确实应用了约束,但是所有按钮都在一行中,并且很少有不可见的(我认为我的约束不正确)。我正在尝试以编程方式创建按钮,我想将它放在一个应该动态增加其高度的视图中,类似于 ios 邮件应用程序中的 To Address(使用 AutoLayouts)
  • 我从来没有使用过自动布局,我也不太了解布局约束,发布它们有人可能会帮助你......
  • 如果你打算使用自动布局那么你为什么不使用 xib 文件或故事板
  • 我正在使用情节提要。如果您查看我在问题中发布的链接,红色和蓝色框是在情节提要上创建的 UIView。我已将红色视图固定到超级视图的前导、尾随和顶部边缘。我已将红色视图的高度固定为 44 并将优先级更改为 999。现在我正在以编程方式创建 UI 按钮并将其作为子视图添加到红色视图。如图所示,它以单行形式出现。我希望它们在超过红色视图宽度时换行
猜你喜欢
  • 1970-01-01
  • 2010-11-06
  • 1970-01-01
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 2014-11-17
相关资源
最近更新 更多