現在Swiftでアプリ開発をしていますが、UIImageView内に画像を適切に表示することに失敗します。
実現したいこと
・横幅が画面幅、高さが横幅の5/9の枠(ImageView)内に、様々なサイズの画像を収めたい。
・画像の比率は保ちたい
・枠より小さい画像も、領域内いっぱいに拡大して隙間が出ないようにしたい
・kingfisherを使いたい
失敗したコード
swift
1@IBOutlet weak var markerImageView: UIImageView! 2 3override func viewDidLoad() { 4 super.viewDidLoad() 5 let imageWidth = self.view.frame.width 6 let imageHeight = imageWidth*5/9 7 let processor = ResizingImageProcessor(referenceSize: 8 CGSize(width:imageWidth,height:imageHeight),mode: .aspectFill) 9 markerImageView.kf.setImage(with: URL(string: imageUrl),options: [.processor(processor)]) 10}
実際の挙動
リサイズプロセッサーのmode
を.aspectFit
にしてもaspectFill
にしても、画像の全部を領域内に入れようとして、横や縦に隙間ができてしまう。.none
にすれば望み通り領域内いっぱいに画像が拡大されるが、比率が無茶苦茶になってしまう。