【问题标题】:How to add a button to the side and in between UIStackView rows如何在 UIStackView 行的侧面和之间添加一个按钮
【发布时间】:2018-07-05 21:15:59
【问题描述】:

想象一个包含两个控件的水平堆栈视图。希望控件的类型无关紧要。比方说 UITextFields。通过均匀分布在其父堆栈视图上,它们将占据 50% 的宽度。

现在想象一下,我想添加不止一项这些内容。为了让事情变得简单,将其中两个嵌套在一个垂直的 UIStackView 中。所以现在我们有四个文本视图,每个都占据了父母垂直堆栈视图的四分之一。

我的问题是这样的。对于每一对文本字段,我怎样才能在该文本字段与其下方的空白之间的间隙中获得一个按钮,向右。因此,对于每一对,在顶部对和底部对文本字段之间的间隙中心的右侧和下方都有一个按钮。

这个想法是制作一个由两个字段和右侧和下方的加号组成的控件。点击加号将允许附加一组相同的控件。

谢谢,我提前了。对不起,如果这没有什么意义。

我应该补充一点,按钮应该与两个文本字段的垂直空间重叠。

好的,谢谢。我将添加一个图像。将除最右侧之外的所有字段想象为文本字段。最右边的是按钮。这些按钮会在左侧添加一组新的文本字段。

自从最初写这篇文章后,我的脑海中就有了一些想法。在我的脑海中,您可能有一个垂直堆栈视图。该垂直堆栈视图将包含一个常规 UIView,其中包含一对文本字段和右侧的水平堆栈视图。这些将嵌套在水平堆栈视图中,其中文本字段将与左侧顶部对齐,右侧按钮的中心或底部对齐。

这有帮助吗?

当您点击最右侧的按钮时,您会得到一对新的文本字段和一个新按钮。

好的,我想我正在取得进展。现在我要做的就是弄清楚如何完全以编程方式完成它,以便我可以动态添加视图......

【问题讨论】:

  • 也许可以准确地画出你想要实现的目标,并在此处添加它的图像,这样每个人都更清楚你想要实现的目标

标签: ios swift uistackview


【解决方案1】:

让按钮位于它们自己的垂直堆栈视图中,每个按钮与控件对的行具有相同的高度,但按钮垂直堆栈视图的顶部布局边距将设置为控件高度的一半配对,以便按钮始终出现在中间。

总而言之,您将有一个水平堆栈视图,其中包含两个垂直堆栈视图 - 一个带有控件对,一个带有按钮。每次点击按钮时,您都会添加一个按钮和一对控件(它们排列在自己的水平堆栈视图中)

【讨论】:

  • 嘿。这次真是万分感谢。我想我今天已经取得了一些进展,但我会尝试一下你的解决方案,因为它听起来比我现在得到的方式要干净得多。如果我能找到你的工作方式,那么我会回复你。真的很感谢你把你的大脑借给我一点!我只是在学习如何在代码中应用自动布局,而且由于您的解决方案更加简洁,它可能也解决了我一直在那里遇到的一些问题。
  • 我会将您的答案标记为一个。它让我更接近。我现在唯一真正的问题是,更改边距与我的“按比例分布”设置相冲突,因此在 y 轴上较高(在屏幕上较低)方面,将按钮置于应有的位置,但我会继续试验.
  • 如果您发布更多详细信息,我可能会为您提供帮助
  • 嘿,我到了。我已经改变了很多。因为我正在创建一堆控制对,所以我有一个主容器,它是一个垂直堆栈。每个堆栈元素都是一个 UIView。每个 UIView 内部都有一个包含我的控件的水平堆栈。我无法使用边距的按钮。我认为这是因为我希望按钮将控件与它们的顶部和底部重叠一点,而堆栈视图没有任何东西。最外层视图的部分原因是我可以将按钮放在上面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多