Programer/iOS

[UI] TableView에서 이미지 크기에 따라 Cell 크기 조정하기

아즈샤 2019. 1. 18. 10:12
반응형

서버에 있는 여러 크기의 이미지를 받아 각각 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


반응형