xcode Swift基于对象数组动态添加UIView

brjng4g3  于 2023-02-25  发布在  Swift
关注(0)|答案(1)|浏览(237)

所以我想做的就是添加尽可能多的公司UIView,我想"复制粘贴"已经存在的UIView和公司的信息在一个水平的堆栈视图。
如图所示,我有一个"allCompaniesShow",这是一个水平堆栈视图,我希望在其中添加多个UIView(companyShow)。对于每个UIView(CompanyShow),我希望显示公司名称

我已经在控制器中初始化了它们

@IBOutlet weak var allCompaniesShow: UIStackView!
@IBOutlet weak var companyName: UILabel!
@IBOutlet weak var companyShow: UIView!

我在viewDidLoad()中创建了这样的公司

let companies = [
            Company(owner: "jan"),
            Company(owner: "henk"),
        ]

这就是我如何循环遍历对象数组来创建新视图

for company in companies {
            companyName.text = company.owner
            allCompaniesShow.addArrangedSubview(companyShow)
        }

实际情况是,它只显示一个视图,所有者为"henk
你能告诉我如何使尽可能多的意见,有公司的基础上已经存在的看法?
谢谢大家!

dpiehjr4

dpiehjr41#

对于这种情况,可以使用UITableView。
1-只需添加一个与堆栈大小相同的tableView并为其给予一个单元格
2-并将协议UITableViewDelegate和UITableViewDataSource添加到UIView控制器
3-在viewDidLoad方法中创建tableView.delegate = selftableView.datasource = self。或者,您可以从情节提要添加它们
4-使用“numberOfRowsInSection”函数返回您想要的行数,在您的情况下返回公司计数的数量
5-最后对单元格使用“cellForRowAtIndexPath”方法

相关问题