一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

苹果开发之iOS 摇一摇动画

时间:2022-06-25 23:36:40 编辑:袖梨 来源:一聚教程网

微信的摇一摇动画效果看起来很棒,这里是类似的摇一摇动画效果,代码示例:

 代码如下 复制代码
#pragma mark - 摇一摇
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    if (motion == UIEventSubtypeMotionShake) {
        AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); //震动效果
        [self shakeView:phoneImgView];  //这里的phoneImgView是需要摇动效果的图片控件
    }
}
#pragma mark - 动画
-(void)shakeView:(UIView*)viewToShake
{
    CGFloat t = 14.0;
    CGAffineTransform translateRight = CGAffineTransformTranslate(CGAffineTransformIdentity, t, 0.0);
    CGAffineTransform translateLeft = CGAffineTransformTranslate(CGAffineTransformIdentity, -t, 0.0);
    viewToShake.transform = translateLeft;
    
    [UIView animateWithDuration:0.08 delay:0.0 options:UIViewAnimationOptionAutoreverse|UIViewAnimationOptionRepeat animations:^{
        [UIView setAnimationRepeatCount:5.0];
        viewToShake.transform = translateRight;
    } completion:^(BOOL finished){
        if(finished){
            [UIView animateWithDuration:0.08 delay:0.0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
                viewToShake.transform =CGAffineTransformIdentity;
            } completion:NULL];
        }
    }];
}

注:需要震动效果时,要导入AudioToolbox.framework,然后导入头文件”AudioToolbox/AudioToolbox.h”,实现的摇一摇动画效果看起来还不错,可以在自己的工程里试一试。

热门栏目