当键盘出现在 Swift 中时,UITextField 会向上移动

Moh*_*ani 2 keyboard-events uitextfield ios swift

我使用此代码在键盘出现时向上移动视图,在我的登录页面中此代码运行良好,但在注册页面中它不起作用。

func textFieldDidBeginEditing(textField: UITextField) {
    animateViewMoving(true, moveValue: 100)
}
func textFieldDidEndEditing(textField: UITextField) {
    animateViewMoving(false, moveValue: 100)
}

func animateViewMoving (up:Bool, moveValue :CGFloat){
    var movementDuration:NSTimeInterval = 0.3
    var movement:CGFloat = ( up ? -moveValue : moveValue)
    UIView.beginAnimations( "animateView", context: nil)
    UIView.setAnimationBeginsFromCurrentState(true)
    UIView.setAnimationDuration(movementDuration )
    self.view.frame = CGRectOffset(self.view.frame, 0,  movement)
    UIView.commitAnimations()
}
Run Code Online (Sandbox Code Playgroud)

我有另一个功能可以返回键盘上的键,它也可以在登录页面上运行,但在注册页面上不起作用。两页之间的所有内容都相同。

  func textFieldShouldReturn(textField: UITextField) -> Bool {

    textField.resignFirstResponder()
    return true
}
Run Code Online (Sandbox Code Playgroud)

小智 6

您是否在 ViewController 类中分配了 UITextField 的委托?如果没有将其设置为自我。

self.youttextfield.delegate = self
Run Code Online (Sandbox Code Playgroud)