서버에 있는 여러 크기의 이미지를 받아 각각 TableView Cell에 넣을 때, Aspect Fit으로 처리해도 공백이 남는 경우가 있다.
이런 경우는 다음과 같은 방법으로 해결하라고 한다.
internal var aspectConstraint : NSLayoutConstraint? {
didSet {
if oldValue != nil {
contentsImageView.removeConstraint(oldValue!)
}
if aspectConstraint != nil {
contentsImageView.addConstraint(aspectConstraint!)
}
}
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
func setContentsImage(image : UIImage) {
let aspect = image.size.width / image.size.height
let constraint = NSLayoutConstraint(item: contentsImageView,
attribute: NSLayoutConstraint.Attribute.width,
relatedBy: NSLayoutConstraint.Relation.equal,
toItem: contentsImageView,
attribute: NSLayoutConstraint.Attribute.height,
multiplier: aspect, constant: 0.0)
constraint.priority = UILayoutPriority(rawValue: 999)
aspectConstraint = constraint
contentsImageView.image = image
}
https://stackoverflow.com/questions/32281886/dynamic-uiimageview-size-within-uitableview
'Programer > iOS' 카테고리의 다른 글
[iOS] 개발에 사용하는 라이브러리 정리 & 추천 (5) | 2019.05.30 |
---|---|
[Fastlane] iOS App 자동 배포 해보기 (0) | 2019.04.10 |
[Swift] StoryBoard 로컬라이즈(지역화) 쉽게하기 (0) | 2018.08.24 |
[FP] Imperative -> Declarative 예제를 통해 바꿔보기 (FizzBuzz) (0) | 2018.07.16 |
[FP] 함수 & 고차함수 vs 클로저 (0) | 2018.07.12 |