我试图重新创建下面显示的视图。对我来说困难的是,其中一些元素将具有不同数量的实例。
实现这一目标的最佳做法是什么?我有一个想法使用UITableView,只是将每个元素放在一个表视图单元格中。但感觉有点像hacky解决方案。特别是因为我必须删除表的默认样式(边框和填充)。
另一种解决方案是使用只有一列的UICollectionView。
第三个解决方案是建立我自己的自动布局解决方案,并使用大量的if语句和for循环来实现它。这似乎是一个糟糕的解决方案。
那么我将如何实现这一目标(使用最佳实践)?例如,将UITableView用于纯布局目的通常是一个坏主意吗?
答案 0 :(得分:1)
创建一个UIStackView,在其中为每个具有零个或多个实例的项目创建另一个
当你想要追加时添加说按钮的按钮stackView使用这个
btnsStackView.addArrangedSubview(btn)
与UILabels和UIImageViews相同
检查这可能有帮助
for i in 0...5
{
let headerView:UIView = UIView(frame: CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: self.view.bounds.size.height))
if(i % 2 == 0)
{
headerView.backgroundColor = UIColor.blue
}
else
{
headerView.backgroundColor = UIColor.yellow
}
self.stttq.addArrangedSubview(headerView)
}
let headerView:UIView = UIView(frame: CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: self.view.bounds.size.height))
headerView.backgroundColor = UIColor.black
self.stttq.insertArrangedSubview(headerView , at:0)