gpt4 book ai didi

ios - Swift 无法将表达式的类型 '()' 转换为类型 CGRect

转载 作者:可可西里 更新时间:2023-11-01 01:43:55 26 4
gpt4 key购买 nike

我是 Swift 的新手,我正在尝试为 textField 设置动画,因为我的键盘隐藏了它。在 objective-c 中,这段代码运行良好。这是编辑开始事件函数:

@IBAction func passwordEditingBegin(sender : UITextField) {
var movementDistance:Int = 50
var movementDuration = 0.3

UIView.beginAnimations("anim", context: nil)
UIView.setAnimationBeginsFromCurrentState(true)
UIView.setAnimationDuration(movementDuration)



self.view.frame = CGRectOffset(self.view.frame, 0, movementDistance)
//^ Can't convert the expressions type '()' to type CGFloat
UIView.commitAnimations()
}

最佳答案

movementDistance 是一个Int,对于CGRectOffset,它必须是一个CGFLoat

var movementDistance:CGFloat = 50

Objective-C 会自动提升变量,而 Swift 不会。

CGRectOffset的定义

func CGRectOffset(rect: CGRect, dx: CGFloat, dy: CGFloat) -> CGRect

关于ios - Swift 无法将表达式的类型 '()' 转换为类型 CGRect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25339327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com