Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift-在3个方向(顶部、右侧或底部)随机旋转UIImageView_Ios_Swift_Xcode - Fatal编程技术网

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,因为它是从数组中选择随机值。所以根据这个逻辑,有时箭头的方向保持不变,这就是为什么它不能点击按钮时没有旋转。是这样吗?非常感谢!最后一个问题是:)示例中的箭头仍然向左旋转。但是,我需要从旋转中排除这个方向。我该怎么做?谢谢你的帮助。谢谢!