Ios Swift-在3个方向(顶部、右侧或底部)随机旋转UIImageView
我对Ios Swift-在3个方向(顶部、右侧或底部)随机旋转UIImageView,ios,swift,xcode,Ios,Swift,Xcode,我对Swift很陌生,这里真的需要一些帮助。 我有一个UIImageView,上面有箭头的图像。我希望箭头在按钮点击时随机改变方向,只在三个方向上:顶部、右侧和底部。 我想用cGraffineTransform旋转UIImageView,但我怎么能呢 是否从旋转中排除左方向 使箭头随机更改其方向(顶部、右侧和底部) ? 生成一个随机数字: let randomInt = Int.random(in: 0..<3) switch randomInt { case 0:
Swift
很陌生,这里真的需要一些帮助。
我有一个UIImageView
,上面有箭头的图像。我希望箭头在按钮点击时随机改变方向,只在三个方向上:顶部、右侧和底部。
我想用cGraffineTransform
旋转UIImageView
,但我怎么能呢
生成一个随机数字:
let randomInt = Int.random(in: 0..<3)
switch randomInt {
case 0:
rotateRight()
case 1:
rotateUp()
case 2:
rotateDown()
default:
rotateWhatever()
}
让randomInt=Int.random(in:0..希望这能帮助您:
let degree = [Double.pi / 2, Double.pi, Double.pi * 2]
let randomIndex = Int(arc4random_uniform(UInt32(degree.count)))
UIView.animate(withDuration: 1.0) {
self.imageView.transform = CGAffineTransform(rotationAngle: CGFloat(degree[randomIndex]))
}
请分享您迄今为止的尝试好吧,我想出了一个想法,创建一个枚举旋转方向,有三种情况:顶部、右侧和底部。我还有一行CGAffineTransform的代码,它到目前为止与枚举没有任何联系。self.arrowImageView.transform=self.arrowImageView.transform.rotated(by:CGFloat((Double.pi/2)))这行代码在UIImageView中精细地旋转图像,但在所有4个方向上旋转(很明显)。这里我卡住了;)请参考这个问题,这可能在某种程度上对你有所帮助谢谢!这非常有用。唯一的一件事是为什么箭头在每次点击时都不改变旋转?有时它甚至在点击按钮后仍然静止…@Dary,因为它是从数组中选择随机值。所以根据这个逻辑,有时箭头的方向保持不变,这就是为什么它不能点击按钮时没有旋转。是这样吗?非常感谢!最后一个问题是:)示例中的箭头仍然向左旋转。但是,我需要从旋转中排除这个方向。我该怎么做?谢谢你的帮助。谢谢!