![](/img/trans.png)
[英]Programmatically set image to UIImageView with Xcode 6.1/Swift
[英]Set UIImageView AspectRatio constraint programmatically in swift 3
我在故事板中有一個UIImageView,AspectRatio是1:1,在某些情況下,我想在ViewController中以編程方式更改為2:1。 我在ViewController中創建了該約束的引用,但無法設置約束。
您可以在swift 3中以編程方式更改約束
let aspectRatioConstraint = NSLayoutConstraint(item: self.YourImageObj,attribute: .height,relatedBy: .equal,toItem: self.YourImageObj,attribute: .width,multiplier: (2.0 / 1.0),constant: 0)
self.YourImageObj.addConstraint(aspectRatioConstraint)
正如Apple指南中所述 ,有三種方法可以通過編程方式設置約束:
設置約束的最方便和流暢的方法是使用布局錨點。
只需一行代碼即可更改ImageView的寬高比
imageView.heightAnchor.constraint(equalTo: imageView.widthAnchor, multiplier: 1.0/2.0).isActive = true
避免“[LayoutConstraints]無法同時滿足約束條件。” 你應該添加對ImageView的高度約束的引用然后停用它:
heightConstraint.isActive = false
根據約束條件將約束的乘數設置為0.5或2,它將變為2:1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.