gpt4 book ai didi

swift - 以编程方式创建动态多个 UIButton

转载 作者:行者123 更新时间:2023-11-28 15:23:21 27 4
gpt4 key购买 nike

我正在以编程方式创建我的 UI,这就是我创建按钮的方式

let button: UIButton = {

let button = UIButton()
button.setTitle("Try1",.normal)
return button

}

enter image description here

这就是我想做的。例如 movie1 有 2 个类别,Dram & Horror 我只想展示其中的 2 个。Movie2 有 4 个类别,Dram&Horror&Sport&War 我只想展示其中的 4 个。

现在我卡住了,不知道该怎么办。我知道你们会给出负面评价,但我需要帮助。

完成!解决方案如下

首先我做了一个结构体

struct Category {
let title: String
let color: UIColor
init(title: String, color: UIColor) {
self.title = title
self.color = color
}
}

然后我做了一个Category Struct的空数组类型

var categories = [Category]()
/* I appended some stuff manually to this array */
categories.append(Category(title: "Dram", color: Colors.cherry))
categories.append(Category(title: "Sport", color: Colors.lightGreen))
categories.append(Category(title: "Horror", color: Colors.purple))
categories.append(Category(title: "War", color: Colors.darkBlue))

/* Then I made a for loop */
for category in categories{
let button = UIButton()
button.createButton(title: category.title, titleColor: .white, fontType: "bold", fontSize: 17, background: category.color, cornerRadius: 4)
stackView.addArrangedSubview(button)
}

enter image description here

最佳答案

为此使用 Horizo​​ntal StackView。在 StackView 中,您可以根据需要添加尽可能多的排列 subview ,它会自动调整到可用空间。只需为 StackView 设置约束,其余的就可以开箱即用。

您可以使用以下方法将按钮添加到 StackView:

stackView.addArangedSubview(button)

要创建按钮,您可以简单地使用 for 循环:

for i in 1...3 { //change 3 to your value
let button = UIButton()
stackView.addArangedSubview(button)
}

关于swift - 以编程方式创建动态多个 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45612514/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com