如何在针对不同大小的显示器的模式中安排许多UIView

时间:2017-07-04 11:36:11

标签: ios iphone swift optimization uiview

目的:

针对不同的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:

enter image description here

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)
}

您需要识别框架,计算距离和视图的大小,然后将它们添加到当前视图中。