[swift] UIimageView 이미지 디스플레이 크기 조정
(매일 인코딩을 하기 때문에 쓴 재료는 얼마든지 나온다. 노트만 잘 남겨라.)
오늘은 UII MageView로 이미지를 표시하고 싶지만 왠지 모르게 확대해서 자신이 생각한'등배'로 표시하지 않습니다.
오랫동안 고민한 결과 어쩔 수 없는 이야기로 가득 찼다.
왜'화면 사이즈'가 여러 가지가 있죠!?탁과입니다.
화면 이미지
다음'성공 모드'같은 하늘 사진을 보여주고 싶어요.
성공 모드
실패 모드
실패 모드에서는 아무래도 이미지가 확대된 것 같죠~.
출처
ViewController.swift
func setBgImage() {
// 成功パターン
let width = UIScreen.main.bounds.size.width
let height = UIScreen.main.bounds.size.height
// 失敗パターン
//let width = UIScreen.main.nativeBounds.size.width
//let height = UIScreen.main.nativeBounds.size.height
bgImage = UIImage(named: "sky(828_1792)")!
bgImgView.image = bgImage
let bgImageWidth = bgImage.size.width
let bgImageHeight = bgImage.size.height
let scale = height / bgImageHeight
// 画像表示サイズの設定("scale"で倍率調整)
bgImgView.frame = CGRect(x: 0,
y: 0,
width: bgImageWidth * scale,
height: bgImageHeight * scale)
// 画像表示の中心を画面の中心に
bgImgView.center = CGPoint(x: (width / 2),
y: (height / 2))
self.view.addSubview(bgImgView)
self.view.clipsToBounds = true
}
첨부 이미지의 크기를 UIScreen.main.nativeBounds.size
와 일치하는 해상도로 조정했지만 실제 화면 크기가 UIScreen.main.bounds.size
(전자는 후자의 2-3배) 이기 때문에 자신이'등배'라고 생각하고 이미지를 표시한 결과 예상보다 2-3배 큰 것으로 나타났다.득점
이 점을 잘 깨닫고 샘플의 논리와 비교해 보면 금방 알아차릴 수 있지만'화면 사이즈'라는 개념에 대한 이해가 얕아 오랫동안 고민했다.
한 마디로 하면'UIVIew를 처리할 때의 화면 사이즈 사용
UIScreen.main.bounds.size
'의 교훈을 받아들여야 한다.
Reference
이 문제에 관하여([swift] UIimageView 이미지 디스플레이 크기 조정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ydzum1123/items/18f6c2da2ea6048280ee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)