Edited at

コードでUIImageViewに画像と一致するアス比のConstraintを設定する

More than 1 year has passed since last update.


環境

Swift 2.3, Xcode 8.2で確認。


UIImageViewExtension.swift

extension UIImageView {

// 自身のアス比をimageのアス比と一致させる
func addConstraintFromImageAspect() {
guard let imageSize = self.image?.size else { return }
let aspectRatioConstraint = NSLayoutConstraint(
item: self,
attribute: .Height,
relatedBy: .Equal,
toItem: self,
attribute: .Width,
multiplier: imageSize.height / imageSize.width,
constant: 0
)
self.addConstraint(aspectRatioConstraint)
}
}

以上Qiita初投稿 ;)