我有一个导航栏.Edit按钮,当按下该按钮时,会执行动画效果,在VC中移动UI,以及启用与文本字段的交互。现在,当我选择一个文本字段时,在动画之后,所有内容都会跳回原来的位置。
这是我使用动画的代码。我有一个单独的功能,用于将UI返回到它的原始位置。不确定是否有更简单的方法,但我最终输入了原始位置的位置/大小。
func editingAnimation() {
UIView.animateWithDuration(0.5, animations: {
self.nameTextField.adjustsFontSizeToFitWidth = false
// button/ image position/ size
self.profileImage.frame = CGRectMake(10, 25, 185, 185)
self.genderButton.frame = CGRectMake(210, 110, 100, 100)
self.catOrDogButton.frame = CGRect(x: 304, y: 104, width: 100, height: 100)
// textfields position/ size
self.nameTextField.frame = CGRectMake(200, 40, 204, 30)
self.breedTextField.frame = CGRectMake(200, 75, 204, 30)
self.birthDateTextField.frame = CGRectMake(200, 215, 204, 30)
self.acquiredDateTextField.frame = CGRectMake(200, 250, 204, 30)
self.colorTextField.frame = CGRectMake(200, 285, 204, 30)
self.microchipTextField.frame = CGRectMake(200, 320, 204, 30)
self.registrationTextField.frame = CGRectMake(200, 355, 204, 30)
self.notesTextView.frame = CGRectMake(200, 390, 204, 250)
// labels position/ size
self.birthDateLabel.frame = CGRectMake(80, 220, 115, 20)
self.acquiredDateLabel.frame = CGRectMake(80, 255, 115, 20)
self.colorLabel.frame = CGRectMake(80, 290, 115, 20)
self.microchipIDLabel.frame = CGRectMake(80, 325, 115, 20)
self.registrationIDLabel.frame = CGRectMake(80, 360, 115, 20)
self.aboutYourPetLabel.frame = CGRectMake(80, 395, 115, 20)
}, completion: nil)
}
我还要注意,我朝向顶部的两个按钮,根本不移动位置。在任何情况下,任何帮助将不胜感激。如果有任何我应该添加的代码,请告诉我。谢谢。