ios - 如何使 View 在 objective-c 的动画中振动?

标签 ios animation uiview

<分区>


想改进这个问题吗? 通过 editing this post 添加细节并澄清问题.

关闭 9 年前

我有一个名为 qShake 的 UIView。当用户出错时,我希望该 View 在一个小空间内从左向右摇晃一小段时间。我将如何创建动画来做到这一点?

最佳答案

您可以使用 CABasicAnimation,并将重复计数设置为某个较小的值,同时为要振动的 view.layer 的位置设置动画。请注意, View 的 clipsToBounds 必须设置为 NO。还要确保在项目中包含 QuartzCore 框架。

- (void)shakeView:(UIView *)view
{
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position.x"];
    animation.duration = 0.1;
    animation.byValue = @(20);
    animation.autoreverses = YES;
    animation.repeatCount = 10;
    [view.layer addAnimation:animation forKey:@"Shake"];
}

关于ios - 如何使 View 在 objective-c 的动画中振动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22567328/

上一篇:ios - 获取从苹果应用商店下载我的 ios 应用的用户详细信息

下一篇:ios - self init .. 与 super init ... 在子类中

相关文章:

ios - 为什么在 iOS 9 和 10 上无法调用 AVPlayer 的 'status' 属性上的 KVO

ios - SKAction 改变 anchor ?

objective-c - 在 Xcode 中使用纹理图集而不使用 cocos2d

javascript - 复杂的填充 SVG 动画

iphone - UIView圆角问题

ios - 告诉 UIViewController 在 subview 中发生的事情

ios - 地理围栏 UILocalNotification 无法快速正常工作

ios - 如何从 iOS 中的另一个类调用 View Controller 方法?

ios - 带有 Segue 的 UITableView 和搜索栏

swift - 在 Swift 中获取任何 UIView 的中心