【发布时间】:2017-01-06 21:50:17
【问题描述】:
我有一个 UIScrollView,里面有一个 UIImageView。只是一个简单的测试用例: UIImageView 是滚动视图的全宽,并以 Y 为中心,具有自动布局。但是,在我的设备上的最终结果中,它并没有真正以 Y 为中心。
但是我遇到的问题是,当使用滚动视图缩放 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) {
}
}
这是我的测试自动布局:
【问题讨论】:
标签: ios swift uiscrollview uiimageview zooming