【问题标题】:IOS stackview addArrangedSubview add at specific indexIOS stackview addArrangedSubview 在特定索引处添加
【发布时间】:2016-03-29 19:15:20
【问题描述】:

如何在 UIStackView 的特定索引中添加排列的子视图?

类似:

stackView.addArrangedSubview(nibView, atIndex: index)

【问题讨论】:

    标签: ios swift uistackview


    【解决方案1】:

    你的意思是你想插入,而不是添加:

    func insertArrangedSubview(_ view: UIView, atIndex stackIndex: Int)
    

    【讨论】:

    • 我正在添加标签作为子视图发生的情况是,如果我保持 Stackview 轴水平,我会得到一个 UILabel 水平条如果我保持它垂直,我会得到一个 UILabel 垂直条,其中标签排列一个在另一个下面它的排列就像这个标签1标签2标签3等等但是我想要实现的是这个标签1,标签2(如果它适合的话)否则把它放在标签3下面,标签4标签5等等
    • @Ranjit 满足您的要求,也许您应该尝试使用 collectionview。
    【解决方案2】:

    如果您不想为索引而烦恼,可以使用此扩展程序

    extension UIStackView {
        func insertArrangedSubview(_ view: UIView, belowArrangedSubview subview: UIView) {
            arrangedSubviews.enumerated().forEach {
                if $0.1 == subview {
                    insertArrangedSubview(view, at: $0.0 + 1)
                }
            }
        }
        
        func insertArrangedSubview(_ view: UIView, aboveArrangedSubview subview: UIView) {
            arrangedSubviews.enumerated().forEach {
                if $0.1 == subview {
                    insertArrangedSubview(view, at: $0.0)
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-06-24
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多