目的:
针对不同的iPhone和iPad大小的显示器,我想在一个模式中安排许多小方块UIView
。一旦安排到位,我希望能够控制每个UIView
,以便我可以操纵每一个,例如,移动和逐个缩放。
一种方法是在Storyboard(图片1)上手动放置许多小UIView
,确保有足够小的UIView
在最大的iPad屏幕上排列图案,然后连接他们都在代码中。例如
@IBOutlet weak var myView001: UIView!
@IBOutlet weak var myView002: UIView!
...
...
@IBOutlet weak var myView144: UIView!
但是,上述方法似乎非常复杂而且不够优雅。
问题:
我如何动态(和优雅地)创建许多小
UIView
可以安排在一个模式,以适应最小的iPhone屏幕和 最大的iPad屏幕,可以用Swift代码操作吗?
图片1:
答案 0 :(得分:2)
这是一种创建子视图并将其添加到当前视图的方法:
let subview = UIView()
subview.backgroundColor = .black
subview.frame = CGRect(x: 10, y: 10, width: 30, height: 30)
self.view.addSubview(subview)
初始化多个子视图的另一种方法,例如10:
let subviews = (0 ..< 10).map { _ in UIView() }
for i in 0..<10 {
subviews[i].frame = CGRect(x: 10 * i, y: 10, width: 30, height: 30)
}
您需要识别框架,计算距离和视图的大小,然后将它们添加到当前视图中。