视图自定义旋转动画 类似百度音乐

@interface FirstViewController ()

@property (nonatomic,assign)BOOL isplay;

@end

@implementation FirstViewController

@synthesize isplay;

- (void)viewDidLoad

{

[super
viewDidLoad];

isplay = NO;

//圆角

self.imgview.layer.cornerRadius =
150.0 / 2.0;

self.imgview.layer.masksToBounds =
YES;

//添加动画

CABasicAnimation *monkeyAnimation = [CABasicAnimation
animationWithKeyPath:@"transform.rotation.z"];

monkeyAnimation.toValue = [NSNumber
numberWithFloat:2.0 *M_PI];

monkeyAnimation.duration =
1.5f;

monkeyAnimation.timingFunction = [CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionLinear];

monkeyAnimation.cumulative =
NO;

monkeyAnimation.removedOnCompletion =
NO; //No Remove

monkeyAnimation.repeatCount =
FLT_MAX;

[self.imgview.layer
addAnimation:monkeyAnimation forKey:@"AnimatedKey"];

[self.imgview
stopAnimating];

// 加载动画
但不播放动画

self.imgview.layer.speed =
0.2;

}

- (void)didReceiveMemoryWarning

{

[super
didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

//开始动画

- (IBAction)startAnimate:(id)sender {

if (!isplay) {

isplay = YES;

self.imgview.layer.speed =
1.0;

self.imgview.layer.beginTime =
0.0;

CFTimeInterval pausedTime = [self.imgview.layer
timeOffset];

CFTimeInterval timeSincePause = [self.imgview.layer
convertTime:CACurrentMediaTime()
fromLayer:nil] - pausedTime;

self.imgview.layer.beginTime = timeSincePause;

}

}

//停止动画并保存当前的角度

- (IBAction)stioAnimate:(id)sender {

if (isplay) {

isplay = NO;

CFTimeInterval pausedTime = [self.imgview.layer
convertTime:CACurrentMediaTime()
fromLayer:nil];

self.imgview.layer.speed =
0.0;

self.imgview.layer.timeOffset = pausedTime;

}

}

@end

视图自定义旋转动画 类似百度音乐

时间: 2024-11-05 13:27:21

视图自定义旋转动画 类似百度音乐的相关文章

类似百度音乐唱片播放时CD图片不停旋转的实现

类似百度音乐唱片播放时CD图片不停旋转的实现 效果图 html代码 <img src="img/logo.png" class="img-responsive" style="float: left;" /> css3代码 # img{ -webkit-transition: -webkit-transform 5s; -webkit-transform: rotate(0deg); -moz-transform: rotate(0d

iOS开发--QQ音乐练习,旋转动画的实现,音乐工具类的封装,定时器的使用技巧,SliderBar的事件处理

一.旋转动画的实现 二.音乐工具类的封装 -- 返回所有歌曲,返回当前播放歌曲,设置当前播放歌曲,返回下一首歌曲,返回上一首歌曲方法的实现 头文件 .m文件 1 #import "ChaosMusicTool.h" 2 #import "MJExtension.h" 3 #import "ChaosMusic.h" 4 5 static NSArray *_musics; 6 static ChaosMusic *_playingMusic; 7

Android自定义动画类——实现3D旋转动画

Android中的补间动画分为下面几种: (1)AlphaAnimation :透明度改变的动画. (2)ScaleAnimation:大小缩放的动画. (3)TranslateAnimation:位移变化的动画. (4)RotateAnimation:旋转动画. 然而在实际项目中透明度.缩放.位移.旋转这几种动画并不能满足我们的需求,比如我们需要一个类似下面的3D旋转动画. 这时候就需要用到自定义动画,自定义动画需要继承Animation,并重写applyTransformation(floa

Android自定义下拉刷新动画--仿百度外卖下拉刷新

好久没写博客了,小编之前一段时间一直在找工作,从天津来到了我们的大帝都,感觉还不错.好了废话不多说了,开始我们今天的主题吧.现如今的APP各式各样,同样也带来了各种需求,一个下拉刷新都能玩出花样了,前两天订饭的时候不经意间看到了"百度外卖"的下拉刷新,今天的主题就是它–自定义下拉刷新动画. 看一下实现效果吧: 动画 我们先来看看Android中的动画吧: Android中的动画分为三种: Tween动画,这一类的动画提供了旋转.平移.缩放等效果. Alpha – 淡入淡出 Scale

iOS:自定义模态动画 --UIPresentationController

UIPresentationController :展示控制器,是iOS8的一个新特性,用来展示模态窗口的.它是所有模态控制器的管理者. 即: 1> 管理所有Modal出来的控制器 2> 管理所有通过- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion方法显示出来的控制器 3> 

视图控制器 旋转

//用来控制当前视图控制器是否支持旋转- (BOOL)shouldAutorotate  // 自动旋转{    return YES;}//设置屏幕旋转的方向,系统默认支持三个方向的旋转,竖直,左右横屏.// UIInterfaceOrientationMaskPortrait 竖直方向 正方向//UIInterfaceOrientationMaskLandscapeLeft 左横屏//UIInterfaceOrientationMaskLandscapeRight 右横屏//UIInterf

ios开发——实用技术篇&amp;三维旋转动画

三维旋转动画 实现三位旋转动画的方法有很多种,这里介绍三种 一:UIView 1 [UIView animateWithDuration:1.0 animations:^{ 2 self.iconView.layer.transform = CATransform3DMakeRotation(M_PI_2, 0, 1, 0); 3 } completion:^(BOOL finished) { 4 self.iconView.image = [UIImage imageNamed:@"user_

自定义旋转卫星菜单

经常在应用中看到卫星菜单,自己也学着写了一个继承自ViewGroup的CustomMenu的卫星菜单,不同之处是带了旋转,由于使用了属性动画,所以只支持3.0以上,还有就是界面变的难看了,囧~,上图(gif录制不流畅,见谅啊): 1. 自定义属性: 为了偷懒,只定义两了两个属性,分别表示子菜单的大小和中心那个显示和隐藏按钮的大小. <declare-styleable name="CustomMenu"> <attr name="itemSize"

自定义选择动画提示

#pragma mark - 创建旋转动画提示 - (CustomView *)initIndicatorViewWithTitle:(NSString *)title { self = [super initWithFrame:[[UIScreen mainScreen] bounds]]; if (self) { //创建背景视图 UIView *bgView = [[UIView alloc]initWithFrame:[[UIScreen mainScreen] bounds]]; bg