拉动刷新时旋转图像
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 单元格在滚动或拉动刷新后调整大小