コンテンツモードがAspect FitのIBでUIImageView
を作成しました。私はその後、そのビューに大きな画像をURLからロードします。scaleAspectFitの後のUIImageViewフレームのサイズ変更
@IBOutlet weak var pictureView: UIImageView!
NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: { (data, _, error) -> Void in
guard let data = data where error == nil,
let image = UIImage(data: data)
else {
print(error?.localizedDescription)
return
}
pictureView.image = image
pictureView.clipsToBounds = true
setNeedsLayout()
layoutIfNeeded()
}).resume()
UIImageView
における画像負荷、及びアスペクトフィットしかしUIImageView
のフレームは元の大きな画像のサイズに設定され、フレーム内のすべてを表示するために正しく画像をリサイズ。私は、この巨大なフレームをこの小さなサイズ変更されたイメージで囲んでいます。私はUIImageView
フレームをしっかりと、Aspect Fit UIImageをラップして、私の他のすべての書式を捨てる必要があります。
私は何とかUIImageView
のために手動で新しいフレームサイズを計算する必要がある、または私はどこかの設定をしないのですか?
EDIT:
私はまた、画像の周囲にUIImageView
フレームのサイズを変更するには、次の試してみた:
pictureView.frame = AVMakeRectWithAspectRatioInsideRect(picture.size, pictureView.frame)
と...
pictureView.frame = CGRectMake(self.pictureView.frame.origin.x, self.pictureView.frame.origin.y, pictureImage.size.width, pictureImage.size.height)
をそして、私も試してみました圧縮抵抗設定で再生します。
私は、iOSがUIImageViewの画像を、アスペクトの元の画像のフルサイズでフレームを設定して設定するサイズを合わせる。私は 'UIView'内に私の' UIImageView'を持っています。すべてのエッジに制約があります。画像の比率は 'UIImageView'で規定されているものとは時々異なるでしょう。私はそれを処理するのに十分柔軟なレイアウトが必要です。画像は左右のエッジからブリードしてはならないが、そのフレーム全体をパッディングしてはならない。 – Fook
私の簡単な質問:「UIImageView」をAspect Fitでサイズ変更すると、フレームが固定されているのではなく、なぜ新しい次元に崩れないのですか?画像でサイズを変更するにはどうすればよいですか? – Fook
ContentModeを 'ScaleAspectFit'から' ScaleAspectFill'に変更するとどうなりますか? – impression7vx