【问题标题】:Scrolling through UIStackView not working滚动 UIStackView 不起作用
【发布时间】:2023-03-13 14:56:01
【问题描述】:

我试图在我的应用程序中实现可滚动的堆栈视图,但我无法让它工作。

screenshot of the screen

当我单击文本字段时,会显示一个 uipicker。根据所选行(1 到 15),将 UIButton 添加到 stackview。

for index in 1...selectedRow+1  {

    let button = UIButton()
    button.setTitle("\(index)", for: .normal)
    directionsStackView.addArrangedSubview(button)

}

这看起来不错,除非数字大于 7

screenshot of that

所以我决定实现 UIScrollView 来滚动堆栈视图

StackView 的对齐方式设置为 Fill 和 Distribution to Equal Spacing。

约束:

ScrollView 有:高度等于 35,尾随并导致边距

StackView 有:尾随、前导、顶部、底部到 superview、与 superview 等高、中心 X 与 superview 对齐(superview 是滚动视图)

我想要完成的事情是 - 数字之间的间距应该始终相等,并且当数字太多( 7+ )时,不要将数字之间的间距修改为更小,只需水平滚动它们即可。

我认为增加 stackview 的宽度会起作用,但问题是我无法滚动它们。

截图:htt ps://imgur.com/a/roi38(对不起,由于声誉,我无法发布3+链接的空间)

谁能帮我解决这个问题?

谢谢。

【问题讨论】:

    标签: ios iphone swift uiscrollview uistackview


    【解决方案1】:

    StackView 默认情况下不可滚动,所以,是的,你需要一个ScrollView

    您可能忘记设置 ScrollView (example on how you could do that) 的 contentSize

    但是,解决您的问题的更好方法可能是使用CollectionView

    【讨论】:

      【解决方案2】:

      选择所有按钮并将它们嵌入scrollView,而不是stackView,方式如下。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-15
        • 2016-11-01
        • 2017-08-11
        • 2023-04-05
        • 2014-01-19
        • 2017-12-21
        相关资源
        最近更新 更多