移动UIImageview的位置

时间:2018-06-10 11:19:34

标签: swift xcode

我正在尝试从按钮移动网格中图像的位置,但是出现了“无法将类型'()的值转换为预期的参数类型'() - > Void'” =。非常感谢帮助。

    @IBAction func testMoveRight(_ sender: Any) {
    UIImageView.animate(withDuration: 0.5, animations: self.testShipPlace.frame = CGRect(x: 50, y: 5, width: 84, height: 47), completion: nil)
}

注意,网格是背景图像的一部分,未生成。

1 个答案:

答案 0 :(得分:0)

您的主要问题是,当您期望关闭时,您试图为animations传递一行代码。您需要在{ }

中包含该行代码
UIView.animate(withDuration: 0.5, animations: { self.testShipPlace.frame = CGRect(x: 50, y: 5, width: 84, height: 47) }, completion: nil)

注意:

  • 错误消息来自于Swift中的赋值语句返回()这一事实,与其他返回所分配值的基于C语言不同。 animations参数期望一个() -> Void闭包,这是一个不带参数的闭包,并且不返回任何值。
  • animateUIView上的类方法,因此通常只在UIView上调用它而不在子类上调用它(如UIImageView)。