【发布时间】:2019-12-11 05:51:18
【问题描述】:
我下面的代码试图基于下面的照片。 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
}
}
【问题讨论】:
-
尝试使用乘数来限制您的高度
-
@AlexandrKolesnik 你能告诉我一些代码吗?谢谢。
标签: swift autolayout equals nslayoutconstraint