动态排列UIstackView中的UILabels
Posted
技术标签:
【中文标题】动态排列UIstackView中的UILabels【英文标题】:Arrange UILabels in UIstackView Dynamically 【发布时间】:2016-06-27 16:12:59 【问题描述】:我将标签作为子视图添加到 UIstackview 使用排列的SubView 属性。
如果我保持 Stackview 轴水平,会发生什么情况, 我得到一条水平的 UILabels
label1 label2 label3 label4.....
如果我保持垂直,我会得到一条垂直的 UILabels 如下所示
label1
label2
label3
and so on
但我想要实现的是这个
label1, label2(if it fits) otherwise take it below
label3, label4
label5 and so on
目前我的代码是这样的
uiLabel1.numberOfLines = 1
uiLabel1.backgroundColor = THEMECOLOR
uiLabel1.font = UIFont.preferredFontForTextStyle(UIFontTextStyleCaption1)
uiLabel1.textColor = topicColor
uiLabel1.layer.cornerRadius = (CGFloat)(5.0)
uiLabel1.layer.masksToBounds = true
uiLabel1.sizeToFit()
uiLabel1.userInteractionEnabled = true
self.dynamicStackView.addArrangedSubview(uiLabel1)
【问题讨论】:
这听起来像 UICollectionView 可能更符合您的要求。 我同意枫。听起来像是收集视图的工作。否则,您将需要编写动态构建堆栈视图的堆栈视图的代码,这将是相当多的工作。 【参考方案1】:我相信UICollectionView
的流布局是您所需要的。看看链接here
【讨论】:
以上是关于动态排列UIstackView中的UILabels的主要内容,如果未能解决你的问题,请参考以下文章
UIStackView 动态添加 2 个彼此相邻的标签,没有额外的间距
通过UIStackView在同等大小的UIImages下安排自定义大小的UILabels