UITextField
setFrame: メソッドでアニメーション化した3 つの があります。アニメーション自体はうまく機能しますが、ユーザーが画面に触れると、アニメーションの前に問題が発生します。発生するのは、3 つの s がすべてUITextField
消えることです。
注意すべきことの 1 つは、キャンセルを押してから、アニメーションを再インスタンス化するボタンを押すと、 が再表示UITextField
され、以前にユーザーが入力した文字列が残っていることです。だから、実際に消えているわけではなく……視覚的に消えているだけだと思います。
私が持っているコード:
- (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: ...]
。そうでなければ、私は本当に何も考えられません(笑)。
誰かアイデアはありますか?