Как сделать анимацию во время прокрутки UITableView

У меня есть вопрос, можно ли сделать анимацию при вращении UILabel во время прокрутки UITableView? тогда как я могу это сделать? когда пользователь начнет прокручивать UILabel начнет вращаться на основе прокрутки! Objective-C и Swift оба в порядке для меня

Извините за мой плохой английский:)

основанный на решении Fogmeister я написал в быстром и работает хорошо;)

# Свифт 4

    func scrollViewDidScroll(_ scrollView: UIScrollView) {
      let maximumHorizontalOffset: CGFloat = scrollView.contentSize.width - scrollView.frame.width
      let currentHorizontalOffset: CGFloat = scrollView.contentOffset.x
      let maximumVerticalOffset : CGFloat = scrollView.contentSize.height - scrollView.frame.height;
      let currentVerticalOffset : CGFloat = scrollView.contentOffset.y;
      let percentageVerticalOffset : CGFloat = currentVerticalOffset / maximumVerticalOffset;
      let percentageHorizontalOffset: CGFloat = currentHorizontalOffset / maximumHorizontalOffset;
      scrollMyView(scrollView, didScrollToPercentageOffset: CGPoint(x: percentageHorizontalOffset, y: percentageVerticalOffset))

    }

    func scrollMyView(_ scrollView: UIScrollView?, didScrollToPercentageOffset percentageOffset: CGPoint) {
       UIView.animate(withDuration: 0.5, animations: {
         self.myImageView.transform = CGAffineTransform(rotationAngle: (self.rotate(forOffsetPercentage: percentageOffset.y) * .pi) / 1)
       })
     }


    func rotate(forOffsetPercentage percentage: CGFloat) -> CGFloat {

      let min: CGFloat = 1.0
      let max: CGFloat = 360.0

      let value : CGFloat = (max - min) * percentage + min

    return value
}

Вы можете посмотреть анимацию здесь!

1 ответ

Решение

Попытайтесь выяснить положение Y прокрутки при прокрутке. И если условие соответствует, то сделайте свою анимацию.

Другие вопросы по тегам