У меня есть UIViewController. Этот viewController содержит UIScrollView с презентациями UIImageView. Размер моего UIImage меньше ширины родительского представления, поэтому я хочу масштабировать ширину этого UIImageView, чтобы сделать его таким же, как родительский. Прежде чем я добавил UIScrollView, я использовал .scaleAspectFit для UIImageView, и он работал отлично. Но теперь, когда я использую UIScrollView, он показывает изображение с реальным размером.UIImageView: AscpectToFit не работает с UIScrollView, чтобы масштабировать его до полной ширины.
guard let image = image, scrollView.frame.size.width > 0, scrollView.frame.size.height > 0 else {
return
}
let widthScale = scrollView.frame.size.width/image.size.width
let heightScale = scrollView.frame.size.height/image.size.height
scrollView.minimumZoomScale = min(min(widthScale, heightScale),1)
scrollView.zoomScale = scrollView.minimumZoomScale
imageView.setImage(image)
imageView.contentMode = .scaleAspectFit
scrollView.addSubview(imageView)
imageView.translatesAutoresizingMaskIntoConstraints = false
scrollView.delegate = self
scrollView.addSubview(imageView)
scrollView.maximumZoomScale = 10.0
Почему бы просто не использовать AutoLayout для компоновки UIImageView на краях UIScrollView? – mattsson
cliptobounds = true может быть ответом – Fay007
@ Fay007, не работает для меня – birdy