Xcode / Swift |单击UITextField时,按钮动画会自动重置

时间:2018-10-17 13:52:29

标签: swift xcode animation

基本上,我在MainStoryboard上的一个名为“ button_login”的控制器上创建了一个按钮,并将其连接到ViewController.swift。现在,我希望下一个也连接到loginViewController的Controller中的按钮随着动画向上移动,因此我在viewDidAppear函数中编写了动画。现在,我还添加了textFields,以使用户键入用户名和密码之类的内容。问题是,当我在UITextField中键入某些内容时,该按钮将直接移回其原来的位置,该位置是动画之前的位置。 我该如何解决这个问题?我真的不知道为什么会这样... 为了让您了解代码,我添加了loginViewController的两个重要部分:

@IBOutlet weak var label_title: UILabel!
@IBOutlet weak var label_subtitle: UILabel!
@IBOutlet weak var imageView_username: UIImageView!
@IBOutlet weak var textField_username: UITextField!
@IBOutlet weak var imageView_password: UIImageView!
@IBOutlet weak var textField_password: UITextField!
@IBOutlet weak var button_login: UIButton!
@IBOutlet weak var label_alreadyHaveAccount: UILabel!
@IBOutlet weak var button_register: UIButton!

override func viewDidAppear(_ animated: Bool) {
    UIView.animate(withDuration: 1.0, animations: {
        self.button_login.frame.origin.y += 32.5
        self.label_title.alpha = 1
        self.label_subtitle.alpha = 1
    }, completion: { _ in
        UIView.animate(withDuration: 1.0, animations: {
            self.imageView_username.alpha = 1
            self.textField_username.alpha = 1
        }, completion: { _ in
            UIView.animate(withDuration: 1.0, animations: {
                self.imageView_password.alpha = 1
                self.textField_password.alpha = 1
            }, completion: { _ in
                UIView.animate(withDuration: 1.0, animations: {
                    self.label_alreadyHaveAccount.alpha = 1
                    self.button_register.alpha = 1
                })
            })
        })
    })
}

0 个答案:

没有答案