iphone - UITextField 动画完成,但在用户触摸后又弹回到原来的位置

标签 iphone ios xcode uitextfield

我有三个 UITextField,我通过 setFrame: 方法在其中设置了动画。动画本身效果很好,但是当用户在屏幕上进行触摸时,问题出现在动画之前。发生的情况是所有三个 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: ...]。不然真的想不出来哈哈。

有人有什么想法吗?

最佳答案

您是否在使用自动布局(iOS 6 的一项功能,可根据称为约束的算术规则控制控件的放置)?要查看您是否启用了自动布局,请打开 Storyboard/NIB,按 option+command-1 转到“文件检查器”(或者只需单击最右侧面板上的“文件检查器”选项卡)并查看“自动布局”是否被选中。

如果启用了自动布局,即使在更改框架之后,也会重新应用约束,并且控件将移回约束指定的位置。您可以关闭自动布局,或保持自动布局打开,并以编程方式删除约束或以编程方式更改约束而不是更改框架。

查看此 answer有关如何通过更改约束来制作动画的示例。

关于iphone - UITextField 动画完成,但在用户触摸后又弹回到原来的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14432574/

相关文章:

iphone - UIWebView 不会加载带有证书的链接 (https ://prefix)

ios - Objective-c:仅限横向

ios - 该按钮只工作一次

ios - 如何为 iOS 应用程序正确启用 iCloud 文档同步?

objective-c - 如何编写 xcode 用户脚本以使用 NSLocalizedString(<string>, nil) 包围光标所在的字符串

iphone - 哪里可以找到iOS框架的.m文件

iphone - Interface Builder 文件中的未知类 ZBarReaderView

javascript - 独立的 jQuery "touch"方法?

ios - 根据字体大小将文本滚动到 UITextView 中的特定点

ios - 更改模式对话框 ios 的大小