Cómo organizar muchas UIView en un patrón dirigido a pantallas de diferentes tamaños

Objetivo:

Orientado a diferentes pantallas tamaño iPhone y iPad, quiero organizar muchas UIView cuadrados UIView en un patrón. Una vez que esté arreglado en su lugar, quiero poder controlar cada UIView para que pueda manipular cada uno, por ejemplo, mover y escalar cada uno individualmente.

Un enfoque sería colocar muchas pequeñas UIView manualmente en el Storyboard (Imagen 1), asegurándose de tener suficiente UIView pequeña para organizar un patrón en la pantalla del iPad más grande, y luego conectarlas todas en código. Por ejemplo

 @IBOutlet weak var myView001: UIView! @IBOutlet weak var myView002: UIView! ... ... @IBOutlet weak var myView144: UIView! 

Pero, el enfoque anterior parece muy complejo y no elegante.

Pregunta:

¿Cómo puedo crear dinámicamente (y elegantemente) muchas UIView pequeñas, que se pueden organizar en un patrón para adaptarse a la pantalla de iPhone más pequeña y a la pantalla de iPad más grande, que se puede manipular en el código Swift?

Imagen 1:

introduzca la descripción de la imagen aquí

Aquí hay una forma de crear una subvista y agregarla a su vista actual:

 let subview = UIView() subview.backgroundColor = .black subview.frame = CGRect(x: 10, y: 10, width: 30, height: 30) self.view.addSubview(subview) 

Otra forma de iniciar varias subvistas, por ejemplo, 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) } 

Debe identificar el marco, calcular la distancia y el tamaño de las vistas y agregarlos a su vista actual.