이미지를 가로로 정렬하고 위로 정렬하는 방법

3760 단어 XcodeSwiftiOS
UIimageView를 사용하여 구글에 와도 이 설정이 전혀 나타나지 않았기 때문에 제가 소개해 드릴게요.

UIimageView를 통해 이미지 종횡 비율을 설정하는 데 자연스럽게 적응


우선 UIIMageView를 계승하여 간단하게 확장된 StretchImageView를 만듭니다.StretchImageView는 AutoLayout에서 특별히 지정하지 않은 상태에서 자연의 종횡비, 높이를 마음대로 볼 수 있는 ImageView입니다.
class StretchImageView: UIImageView {
    override func sizeThatFits(size: CGSize) -> CGSize {
        guard let image = self.image else {
            return super.sizeThatFits(size)
        }

        let newHeight = size.width * (image.size.height / image.size.width)
        return CGSizeMake(size.width, newHeight)
    }

    override func intrinsicContentSize() -> CGSize {
        return sizeThatFits(bounds.size)
    }
}
이렇게 하면 sizeThatFitsintrinsicContentSize 출력에 설정된 이미지의 종횡비만 반영하면 된다.

상단만 표시


그런 다음 준비된 밀어낸 ImageView의 상단만 표시하도록 배치합니다.표시할 영역에 UIVIew를 배치하고 밀어낸 ImageView를 배치합니다.
배치된 밀어낸 ImageView에 다음 내용을 붙여넣습니다.
  • superview.top = view.top
  • superview.left = view.left
  • superview.right = view.right
  • superview.bottom <= view.bottom
  • Bottom이 명시적으로 지정되지 않았지만 StretchImageView는 높이를 마음대로 결정할 수 있습니다.

    모양

    StretchImageView를 ImageView 클래스로 설정합니다.

    Constraint 이런 느낌이에요.

    실행 상황

    좋은 웹페이지 즐겨찾기