【问题标题】:Override spacing for a UIStackView覆盖 UIStackView 的间距
【发布时间】:2016-07-14 07:57:33
【问题描述】:

我经常发现UIStackView 非常适合特定布局,除了我需要在排列的子视图之间设置一些可变间距。 UIStackView 使用其spacing 属性沿其轴排列视图,但有没有办法覆盖这些?例如,我希望能够使用可视格式添加单个手动约束来定义所需的间隙,并以某种方式降低堆栈视图的优先级。

我当然可以完全放弃UIStackView,但是堆栈在隐藏的子视图之间留出空间的能力很难手动复制(例如,根据隐藏的视图添加和删除约束)。我还尝试将各个子视图包装在它们自己的堆栈视图中,以便我可以使用堆栈的layoutMargins 添加顶部边距。但这需要管理包装堆栈自己的隐藏状态以及它包含的子视图(令人惊讶的是 - 对我来说 - 一个 UIStackViewarrangedSubviews 全部隐藏不会自动隐藏本身,因此不会产生它的间距并返回到它自己的超级视图)。

【问题讨论】:

标签: ios autolayout uistackview


【解决方案1】:

从 iOS 11 开始可以使用:

stackView.setCustomSpacing(spacing: CGFloat, after: UIView)

【讨论】:

    猜你喜欢
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多