有没有一种方法可以快速动态地布局按钮,以便它们“自动换行”

时间:2019-05-12 21:03:59

标签: swift uibutton autolayout uistackview

更新:我正在添加一张照片,以更好地演示我要实现的目标。 enter image description here 我正在创建一个应用,用户可以在图像流上设置任意数量的过滤器。如果要删除它,我想显示他们设置为带有X的按钮的每个过滤器。我创建了自己的按钮并为其分配了操作,但这将是我的第一个动态按钮项目。

我的困惑是如何以编程方式创建按钮,为它分配一个操作,该操作知道要对哪个过滤器进行操作,然后对其进行排列,以使按钮的行为类似于文本框中的文本,从而使按钮无法适合屏幕将其“自动换行”到下一行。

我对它们应用了一个过滤器数组,可以循环通过它们,但我只是不知道它们的排列机制是什么,以便每个按钮都像句子中自己的单词一样起作用。作为一种变通方法,我可以使用表格/集合视图,但是由于过滤器的宽度在可能的按钮之间变化,所以我真的希望不要强制按要求的宽度统一。我见过执行此操作的应用程序,因此希望这里的专家能够为您提供帮助。

我怀疑解决方案看起来像这样:

  • 对于“过滤器”中每个过滤器都具有的循环
  • 使用过滤器的文本标题创建和配置UIButton
  • 分配一个带有参数的操作,这样我就知道要删除哪个过滤器
  • 适当地分配约束,以使其填充屏幕的宽度,但一旦无法容纳将自动换行,并且无论其处于何种容器对象的高度都会增加,需要在横向模式下进行调整

    // #selector可以接受类似过滤器数组位置的参数吗? myButton.addTarget(self,action:#selector(helloButton),forControlEvents:.TouchUpInside)

Stack View vs Manual Layout Appearance

0 个答案:

没有答案