У меня есть UIScrollView с UIImageView в нем. Просто простой тестовый пример: UIImageView имеет полную ширину прокрутки и центрируется на Y с автоматической компоновкой. Тем не менее, в конечном результате на моем устройстве он не находится по центру Y.Zoom UIImageView в UIScrollView - не центрирован
Но у меня есть проблема, что при масштабировании UIImageView с просмотром прокрутки он «дрейфует» в нижнюю область - не только масштабируется в центре как и должно быть. Он также «дрейфует» влево при уменьшении (в самом конце видео) и отскакивает назад в центр.
Я сделал небольшой предварительный просмотр видео такого поведения: https://www.youtube.com/watch?v=ivRNkzNrcEA
Вот мой простой тестовый код:
class TestController: UIViewController, UIScrollViewDelegate {
@IBOutlet weak var SCROLL: UIScrollView!
@IBOutlet weak var IMAGE: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
SCROLL.minimumZoomScale = 1;
SCROLL.maximumZoomScale = 6.0;
SCROLL.zoomScale = 1.0;
SCROLL.contentSize = IMAGE.frame.size;
SCROLL.delegate = self;
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return IMAGE
}
func scrollViewDidZoom(scrollView: UIScrollView) {
}
func scrollViewDidEndZooming(scrollView: UIScrollView, withView view: UIView?, atScale scale: CGFloat) {
}
}
А вот мой тест авто макет: