Swift:如何在滚动视图中向上滚动时缩放图像

问题描述:

我试图在滚动屏幕顶部的scrollView时缩放图像视图。这里是我的代码:Swift:如何在滚动视图中向上滚动时缩放图像

func scrollViewDidScroll(_ scrollView: UIScrollView) { 
    let offset = scrollView.contentOffset.y 
    if (offset <= 0) { 
     let ratio: CGFloat = -offset*1.0/UIScreen.main.bounds.height 
     self.coverImageView.transform = CGAffineTransform(scaleX: 1.0 + ratio, y: 1.0 + ratio) 
    } 
} 

此缩放图像,我向上滚动,而是因为我还滚动了起来,我认为出现故障,并显示图像背后的白色背景,因为它扩大。我如何防止这种情况发生?

这听起来像一个滚动视图并不真正适合你正在尝试做什么。如何使用手势识别器呢?沿着这些路线的东西:

override func viewDidLoad() { 
    super.viewDidLoad() 
    coverImageView.isUserInteractionEnabled = true 
    let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(didPan)) 
    coverImageView.addGestureRecognizer(panGestureRecognizer) 
} 

func didPan(panGestureRecognizer: UIPanGestureRecognizer) { 
    let translation = panGestureRecognizer.translation(in: coverImageView) 
    if translation.y > 0 { 
    let zoomRatio = (translation.y * 0.1) + 1.0 
    coverImageView.transform = CGAffineTransform(scaleX: zoomRatio, y: zoomRatio) 
    } 
} 

你必须玩得到它的行为完全你怎么想,但它应该足以让你开始。