環境
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初投稿 ;)