我有三個UITextField
s,我用setFrame:方法進行了動畫處理。動畫本身效果很好,但問題是在用戶在屏幕上觸摸動畫之前開始的。發生的是所有三個UITextField
都消失了。UITextField動畫完成,但在用戶觸碰後彈出回原始位置
需要注意的一件事是,當我按取消,然後按重新實例化動畫的按鈕時,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: ...]
調用。否則,我真的無法想到任何哈哈。
有人有什麼想法嗎?
在什麼情況下文本字段消失? –
用戶在動畫之前觸摸屏幕或鍵盤上的下一個按鈕。 – jakenberg