Мой код ниже пытается быть основанным на фотографии ниже. PicLocate должен занимать 60% высоты изображения. Pic[0] и Pic1 должны занимать 10% высоты и иметь равные ширина. Все объекты должны располагаться на расстоянии 10 - 15 промежутков между видами. В основном это должно выглядеть так же, как на фото
import UIKit
class ViewController: UIViewController {
var picLocate = UIImageView()
var jessicaAlba:Float = 50
var topConstraint: NSLayoutConstraint!
var heightConstraint: NSLayoutConstraint!
var leadingConstraint: NSLayoutConstraint!
var trailingConstraint: NSLayoutConstraint!
let pic = (0..<3).map { _ in UIButton() }
override func viewDidLoad() {
super.viewDidLoad()
[picLocate,pic[0],pic[1]].forEach {
$0.translatesAutoresizingMaskIntoConstraints = false
view.addSubview($0)
$0.backgroundColor = .systemOrange
}
pic[0].topAnchor.constraint(equalTo: picLocate.bottomAnchor, constant: 10).isActive = true
pic[0].leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 10).isActive = true
pic[0].trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -300).isActive = true
pic[0].bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -300).isActive = true
pic[1].topAnchor.constraint(equalTo: picLocate.bottomAnchor, constant: 10).isActive = true
pic[1].leadingAnchor.constraint(equalTo: pic[0].trailingAnchor, constant: 10).isActive = true
pic[1].trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -10).isActive = true
pic[1].bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -300).isActive = true
pic[0].setTitle("Add Box", for: .normal)
pic[1].setTitle("Save Photo", for: .normal)
topConstraint = picLocate.topAnchor.constraint(equalTo: view.topAnchor, constant: CGFloat(jessicaAlba))
topConstraint.isActive = true
heightConstraint = picLocate.heightAnchor.constraint(equalTo: view.heightAnchor , multiplier: 0.6, constant: CGFloat(-jessicaAlba))
heightConstraint.isActive = true
leadingConstraint = picLocate.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: CGFloat(jessicaAlba))
leadingConstraint.isActive = true
trailingConstraint = picLocate.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: CGFloat(-jessicaAlba))
trailingConstraint.isActive = true
}
}