我有一个带有图像的水平滚动视图,当用户向左或向右滚动时我需要旋转它。当用户在屏幕上移动滚动时,它需要旋转。因此,如果用户向中间滚动并停止图像应该中途转动等等。我看了几个例子,但似乎没有任何东西给我正确的结果。请有人帮忙。
提前致谢
答案 0 :(得分:0)
您需要实现scrollViewDidScroll
方法,然后将旋转矩阵应用于图像。要旋转UIIMage,您可以执行此处概述的操作。 How to Rotate a UIImage 90 degrees?
然而,这在平移手势识别器中会更好。平移手势将为您提供有关用户平移的距离的信息,然后您可以根据该距离旋转图像。
答案 1 :(得分:0)
旋转图像不利于提高性能。您可以在用户滚动时更好地设置图片视图的旋转变换。像这样:
imageView.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))
答案 2 :(得分:0)
垂直滚动和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