单击 textField 后按钮移动

Buttons moving after textField is clicked

我正在处理登录屏幕,您首先要选择是通过电子邮件、FB 还是 Twitter 注册。如果选择电子邮件,按钮滑出屏幕,电子邮件登录,电子邮件文本字段、密码文本字段和登录按钮滑入屏幕。我使用此代码:

@IBAction func emailLoginButtonPressed(sender: UIButton) {

    UIView.animateWithDuration(1, animations: { () -> Void in
        self.facebookButton.center = CGPointMake(self.facebookButton.center.x - 500, self.facebookButton.center.y)
        self.twitterButton.center = CGPointMake(self.twitterButton.center.x - 500, self.twitterButton.center.y)
        self.emailButton.center = CGPointMake(self.emailButton.center.x - 500, self.emailButton.center.y)
        self.emailTextField.center = CGPointMake(self.emailTextField.center.x - 500, self.emailTextField.center.y)
        self.passwordTextField.center = CGPointMake(self.passwordTextField.center.x - 500, self.passwordTextField.center.y)
        self.loginButton.center = CGPointMake(self.loginButton.center.x - 500, self.loginButton.center.y)

    })

}

这非常有效:选择电子邮件登录后,所有内容都会向左滑动,您可以输入电子邮件和密码。然而,只要我点击电子邮件文本字段或密码文本字段,一切都会立即恢复原状。奇怪的是,如果此时我再次选择电子邮件登录,它仍然有效并且一切都向左滑动。但是加班我点击一个文本字段,一切都回来了,就好像我刚刚启动了应用程序一样。

有什么想法吗?我认为这可能与 UITextFieldDelegate 在检测到点击时执行某些操作有关,但我不知道。

谢谢!

添加

        self.view.translatesAutoresizingMaskIntoConstraints = true
        self.emailTextField.translatesAutoresizingMaskIntoConstraints = true
        self.passwordTextField.translatesAutoresizingMaskIntoConstraints = true
        self.emailButton.translatesAutoresizingMaskIntoConstraints = true
        self.facebookButton.translatesAutoresizingMaskIntoConstraints = true
        self.twitterButton.translatesAutoresizingMaskIntoConstraints = true
        self.loginButton.translatesAutoresizingMaskIntoConstraints = true

到您的视图控制器的 viewDidLoad