ios - 如何做文本字段抖动效果?

标签 ios animation uiviewanimation

我试图模仿在 Mac OSX 中登录时的效果:当您输入错误的密码时,文本字段开始出现漂亮的摇动效果。我试过了,但我不满意。

-(void)shakeText:(UITextField*)textField
{
     [UIView animateWithDuration:0.25
                      delay:0.0
                    options:UIViewAnimationOptionAutoreverse
                 animations:^{textField.transform =CGAffineTransformMakeTranslation(5, 0);}
                 completion:^(BOOL finished) {
                     [UIView animateWithDuration:0.5
                                           delay:0.0
                                         options:UIViewAnimationOptionAutoreverse
                                      animations:^{textField.transform = CGAffineTransformMakeTranslation(5, 0);}
                                      completion:nil];
                 }];
}

iOS 中是否有正确执行此操作的功能?

最佳答案

请尝试以下代码:

// Change the 10 & -10 values as you wish
CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-10.0));
CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(10.0));

textField.transform = leftWobble;

[UIView animateWithDuration:0.25
        delay:0
        options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse) animations:^{

        [UIView setAnimationRepeatCount:6]; // Change this value as you want

        textField.transform = rightWobble;

} completion:^(BOOL finished){

        textField.transform = CGAffineTransformIdentity;

}];

关于ios - 如何做文本字段抖动效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29588153/

相关文章:

ios - 核心数据 - 禁用从缓存加载

ios - 错误 : "unable to open database file" & "Too many open files"

javascript - 从右到左动画div,然后再从左到右动画

javascript - 使用 jQuery 制作表单动画

swift - 无法使用 alpha 属性调用非函数类型 'CGFloat' 的值

ios - 如何在需要时停止 UIView 动画?

ios - swiftui 对成员 'navigationBarTitle' 的引用不明确

ios - iPad 视网膜开发

javascript - 动画渐变颜色 React Native

ios - UITableView不同cell的延时动画