【问题标题】:Snapping arranged views to top of UIStackView将排列好的视图捕捉到 UIStackView 的顶部
【发布时间】:2016-03-11 19:36:04
【问题描述】:

我有一个 Vertical UIStackView,里面有 7 个元素。这些元素的总高度不足以填满整个视图,因此它们根据distribution 值进行间隔。我希望排列的视图堆叠在视图的顶部,顶部没有空间,底部没有空间。如果可能的话,我还希望能够控制每个视图下方的间距。

我已经尝试了所有可用的分发选项,但没有一个可以完成我想要做的事情。感谢您的帮助!

更新:添加我想要的结果的图像以使其更易于理解

  • 视图具有可变高度(没问题,我有这个工作)
  • 视图应该按照我添加它们的顺序出现(也可以)
  • 我想要的功能是这样的:第一个视图锚定到堆栈视图的顶部,第二个视图锚定到第一个视图的底部,等等。

【问题讨论】:

  • 显示潜在结果的图像
  • @dimpiax 我已经编辑了我的问题以包含我想要完成的图表。任何帮助表示赞赏!

标签: ios swift autolayout storyboard uistackview


【解决方案1】:

您是否尝试过使用嵌入另一个堆栈视图和空视图的堆栈视图。这可以为您提供所需的结果。以这种方式创建您的视图层次结构。

Stackview Stackview FirstView SecondView ThirdView .... SeventhView PaddingView

通过将您的 7 个视图嵌入到堆栈视图中,然后使用填充视图,然后将第一个堆栈视图和填充视图嵌入另一个堆栈视图中,您可以实现您想要的所有事情。

【讨论】:

  • 我会在外部堆栈视图上放置哪些分发设置?按比例填充?
  • 是的。内部堆栈视图将具有特定的高度,具体取决于您在该堆栈视图中分布视图的方式。剩余空间将用于填充视图,因此外部堆栈视图可以按比例使用填充设置
  • 内部堆栈视图似乎仍在占用全部可用空间,而不是捕捉到它的排列子视图的大小,因此填充视图没有大小并且布局基本保持不变。如何强制内部堆栈视图缩小到其内容的大小? @Pradeep K
  • 将内部堆栈视图的分布设置为Fill Proportional。首先,您必须根据您的要求创建 7 个子视图。然后选择所有这些并嵌入到堆栈视图中。现在它将根据子视图的总高度设置堆栈视图。现在在该堆栈视图下方添加另一个视图并选择该堆栈视图和填充视图并将其嵌入到另一个堆栈视图中。再次将分布设置为比例。关键是根据需要的高度创建视图,然后将它们嵌入到堆栈视图中。
猜你喜欢
  • 2017-10-29
  • 1970-01-01
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 2019-05-25
  • 2016-09-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多