【问题标题】: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);

标签: ios objective-c uirefreshcontrol


【解决方案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

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 2013-06-04
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多