拉动刷新时旋转图像

Posted

技术标签:

【中文标题】拉动刷新时旋转图像【英文标题】:Rotate image while pulling to refresh 【发布时间】:2015-07-09 17:31:17 【问题描述】:

我找不到正确的答案。我在表格视图的刷新控件中有一个图像作为子视图。我想在拉动刷新时旋转它。旋转角度应取决于刷新的控制高度。我试图使用 CGAffineTransformMakeRotation 和 CGAffineTransformRotate 但它根本不起作用。有人知道解决方案吗?

【问题讨论】:

定义“根本不工作”。您是否收到错误,它不旋转,它的旋转方式是否与您预期的不同?你的代码目前是什么样子的 我试图同时旋转和改变框架,它使图像变形。 CGFloat pullDistance = MAX(0.0, -self.refreshControl.frame.origin.y); CGFloat spinnerY = pullDistance / 2.0 - spinnerHeightHalf; CGFloat spinnerX = self.view.center.x; CGRect spinnerFrame = self.compass_spinner.frame; spinnerFrame.origin.x = spinnerX; spinnerFrame.origin.y = spinnerY; CGF浮角=(pullDistance)/M_PI*180; self.compass_spinner.transform = CGAffineTransformMakeRotation(angle); 【参考方案1】:

UIScrollView、垂直滚动和 Swift 5:

func scrollViewDidScroll(_ scrollView: UIScrollView) 
    let topOffset = scrollView.contentOffset.y
    let angle = -topOffset * 2 * CGFloat(Double.pi / 180)
    self.myImageView.transform = CGAffineTransform(rotationAngle: angle)

别忘了在viewDidLoad

self.scrollView.delegate = self

【讨论】:

以上是关于拉动刷新时旋转图像的主要内容,如果未能解决你的问题,请参考以下文章

静态图像刷新时旋转

页面刷新时旋转图像

UITableViewAutomaticDimension 单元格在滚动或拉动刷新后调整大小

拉动刷新默认刷新级别更改

UITableView上方的自定义UIView(用户拉动刷新时)

拉动刷新 Swift JSON 数据