ios - 快速在具有动态宽度的 UIView 中添加 UIButtons

标签 ios swift uiview

我正在尝试在 UIView 中添加 UIButtons,按钮宽度将根据它们的标题而改变。所以它可能是一行中的一个按钮或一行中的 3 个按钮。如果同一行中没有空格,则应在下一行中添加按钮。像这样的东西 enter image description here

如果添加更多行到一定高度,UIView 高度应该增加。

我正在考虑从 UIStackViews 入手,但不确定如何实现此功能。任何帮助表示赞赏。

最佳答案

使用 UICollectionViewFlowLayoutUICollectionView 默认情况下会执行此操作。如果您当然不希望它滚动,您唯一需要做的就是更新 collevtionView 的高度以匹配其内容大小。

使用 UIStackView 需要您计算每个按钮的大小,并在它们不适合时向下移动到新行。虽然这听起来并不难,但您需要做很多布局数学运算。

关于ios - 快速在具有动态宽度的 UIView 中添加 UIButtons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53217281/

相关文章:

ios - 从 [NSString : AnyObject] as UIViewAnimationCurve? 获取对象

ios - 从子类添加 UIImageView 到 UIView

ios - 如何将 url 数组发送到另一个 View 并转换为图像?

ios - 如何在没有任何延迟的情况下立即运行 segue 之后的动画?

ios - 链接到 AFNetworking iOSOpenDev 的问题

swift - 如何调用将其作为 Controller 之间的参数传递的函数

ios - 将 swift 对象转换为 JSON 字符串

ios - 创建 UIView 的实例 - iOS

ios - 选择时更改自定义 UIView 背景

ios - 数据未传输到下一个 View Controller