2016-11-12 9 views
0

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) 
    } 
} 

これは、画像をズームするが、私はまた、スクロールアップしていますので、私の見解ではダウンし、それがを拡大すると、画像の後ろの白い背景を明らかにする。それをどうやって防ぐのですか?

答えて

0

スクロールビューは、実際にやっていることには適していないようです。代わりにジェスチャ認識機能を使用するのはどうですか?これらの線に沿って何か:

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) 
    } 
} 

あなたはそれはあなたがしたい正確にどのように動作するように取得するために遊んでする必要がありますが、それはあなたが始めるのに十分でなければなりません。

関連する問題