我试图在我的应用程序中实现可滚动的stackview,但我无法让它工作。
当我点击文本字段时,会显示一个uipicker。根据选定的行(1到15),将UIButton添加到stackview。
for index in 1...selectedRow+1 {
let button = UIButton()
button.setTitle("\(index)", for: .normal)
directionsStackView.addArrangedSubview(button)
}
这看起来很不错,除非数字是> 7
所以我决定实现UIScrollView来滚动stackview
StackView的对齐设置为Fill and Distribution to Equal Spacing。
约束:
ScrollView具有:高度等于35,尾随并导致边距
StackView具有:尾随,前导,顶部,底部到超级视图,与superview相等的高度,以及将中心X与superview对齐(superview是scrollview)
我想要完成的事情是 - 数字之间的间距应该总是相等,当数字太多(7+)时,不要将数字之间的间距修改为更少,只需水平滚动它们。
我认为增加stackview的宽度会起作用,但问题是我无法滚动它们。
屏幕截图:htt ps://imgur.com/a/roi38(对不起因为声誉而无法发布3+链接的空间)
任何人都可以帮我吗?
谢谢。
答案 0 :(得分:0)
StackView
默认情况下不可滚动,所以,是的,您需要ScrollView
。
您可能忘记设置ScrollView
(example on how you could do that)
但是,对您的问题更好的解决方案可能是使用CollectionView
。
答案 1 :(得分:-1)