我有三个UITextField
通过 setFrame: 方法制作动画的 s。动画本身效果很好,但是当用户触摸屏幕时,问题在动画之前就开始了。发生的情况是所有三个UITextField
s 都消失了。
需要注意的一件事是,当我按下取消,然后按下重新实例化动画的按钮时,UITextField
s 重新出现并且仍然具有用户先前输入的字符串。所以它们并没有真正消失……我想只是在视觉上消失了。
我得到的代码:
- (IBAction)signupPressed:(UIButton *)sender
{
self.isSigningUp = YES;
[UIView animateWithDuration:0.3f
delay:0.0f
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.krtiqueButton.alpha = 0.0f;
self.krtiqueButton.enabled = NO;
self.facebookButton.alpha = 0.0f;
self.facebookButton.enabled = NO;
} completion:^(BOOL finished){
if (finished) {
[self animateSignUpCredentials];
}
}];
}
- (void)animateSignUpCredentials
{
[UIView animateWithDuration:0.3f
delay:0.0f
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.fullnameTextField.frame = CGRectMake(20, 59, 280, 30);
self.emailTextField.frame = CGRectMake(20, 97, 280, 30);
self.passwordTextField.frame = CGRectMake(20, 135, 280, 30);
self.continueButton.alpha = 1.0f;
} completion:nil];
}
我尝试通过将 setFrame: 从 setFrame, 更改为[self.fullnameTextField sefFrame: ...]
. 不然我真的什么都想不出来哈哈。
有人有什么想法吗?