首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIStackView:间距控制

UIStackView:间距控制
EN

Stack Overflow用户
提问于 2017-04-05 23:46:13
回答 1查看 563关注 0票数 1

我需要在水平UIStackView中有X个按钮,它驻留在UIScrollView中。要求按钮在堆栈视图中均匀分布,并且随着按钮数量的增加,我应该缩小间距,使它们与屏幕的宽度相适应,但是有一个最小的间距,当间距减小并达到最小间距时,按钮就可以超出屏幕的宽度。

例如,当我有三个按钮时,我想将它们布局如下

|B1 B2 B3|

当我有五个按钮时(假设它们仍然可以以较小的间距与屏幕的宽度相匹配):

|B1 B2 B3 B4 B5|

但是,当我有6个按钮并且必须保持最小间距时,我想要在它的容器UIScrollView中滚动堆栈视图。

查看UIStackView的doco,属性spacing是:

“间隔属性确定排列视图之间的最小间距。”

因此,我可以将其用于最小间距要求,但对于第一个有三个项的示例,我想我需要定义堆栈视图的大小和位置,如doco中所述:

“沿其轴线定义堆栈的大小。在这种情况下,将堆栈的两条边沿其轴插入到其superview,在该维度中定义堆栈视图的大小。您还需要将另一条边缘钉住以定义堆栈视图的位置。堆栈视图的大小和内容沿其轴定位以填充定义的空间;然而,未固定的边缘根据最大排列视图的大小自由移动。”

但现在的问题是:

  1. 我如何布局这三个按钮,一个在左边边缘,一个在中间,一个在右边边缘?
  2. 当我有更多无法适应屏幕宽度的项目时,我如何确定是否应该而不是将堆栈视图的右侧插入到其超级视图的右侧,这样它的大小就可以增长?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-31 16:42:52

这其实很容易。

对于中的任何项目,在自动收费.

(如果它是一个堆栈视图,或者仅仅是一个普通视图,则没有任何区别。因此,首先,教自己如何使用简单的视图来做这件事。)

你的意思是你希望视图是的,就像superview一样宽。但是,可以扩大范围。

你所做的就是在你的例子中-附加左边的边-不附加右边的边-设置宽度相等,但实际上,选择">=“选项。

就这么简单!

这将完美地在您的堆栈视图情况下工作。

(当然,只需在堆栈视图上选择“填充”:这样,在只有少数的情况下,它就会“将它们”分隔开。)当然,请注意,显然,您必须将滚动视图合并到项目中,如果这是您想要的,当它们“关闭在右边”时。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43243384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档