动画记录

1.view旋转

   //头像旋转

    //        CABasicAnimation* rotationAnimation1;

    //        rotationAnimation1 = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];

    //        rotationAnimation1.toValue = [NSNumber numberWithFloat: M_PI * 1.0 ];

    //        rotationAnimation1.duration = 360.f/40;

    //        rotationAnimation1.cumulative = YES;

    //        rotationAnimation1.repeatCount = INT_MAX;

    //        [_headImageView.layer addAnimation:rotationAnimation1 forKey:@"rotationAnimation"];


2.重写view,画布扇形,然后进行旋转,模仿雷达效果

 1)重写View

#import


@interface XHRadarIndicatorView : UIView


@property (nonatomicassignCGFloat radius;           //半径


 

@end





#import "XHRadarIndicatorView.h"


#import


#define INDICATOR_START_COLOR [UIColor colorWithRed:1 green:1 blue:1 alpha:1]

#define INDICATOR_END_COLOR [UIColor colorWithRed:1 green:1 blue:1 alpha:0]


@implementation XHRadarIndicatorView


// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

- (void)drawRect:(CGRect)rect {

    

    [super drawRect:rect];

    

    // Drawing code

    

    //An opaque type that represents a Quartz 2D drawing environment.

//    //一个不透明类型的Quartz 2D绘画环境,相当于一个画布,你可以在上面任意绘画

    CGContextRef context = UIGraphicsGetCurrentContext();

    

    //画扇形,也就画圆,只不过是设置角度的大小,形成一个扇形

//    UIColor *aColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:1.0];

    UIColor *aColor = [UIColor clearColor];

//    UIColor *aColor = RGBCOLOR(100, 20, 211);

    CGContextSetFillColorWithColor(context, aColor.CGColor);//填充颜色

    CGContextSetLineWidth(context, 0);//线的宽度

    //self.radius为半径围绕圆心画指定角度扇形

    CGContextMoveToPoint(context, self.center.xself.center.y);

    CGContextAddArc(context, self.center.xself.center.yself.radius -59.8 * M_PI / 180, -60  * M_PI / 1801);

    CGContextClosePath(context);

    CGContextDrawPath(context, kCGPathFillStroke); //绘制路径

    

    //多个小扇形构造渐变的大扇形

    for (int i = 2; i<=140; i++) {

        //画扇形,也就画圆,只不过是设置角度的大小,形成一个扇形

        UIColor *aColor = [UIColor colorWithRed:255/255.0f green:255/255.0fblue:255/255.0f alpha:i/450.0f];

        

        CGContextSetFillColorWithColor(context, aColor.CGColor);//填充颜色

        CGContextSetLineWidth(context, 0);//线的宽度

        //self.radius为半径围绕圆心画指定角度扇形

        CGContextMoveToPoint(context, self.center.xself.center.y);

        CGContextAddArc(context, self.center.xself.center.yself.radius (-90+ i) * M_PI / 180, (-90 + i - 1) * M_PI / 1801);

        CGContextClosePath(context);

        CGContextDrawPath(context, kCGPathFillStroke); //绘制路径

    }

}


 

@end


2)初始化,直接用

 //圆环线

    _indicatorView = [[XHRadarIndicatorView alloc] init];

    [_mapView addSubview:_indicatorView];

    _indicatorView.frame = _mapView.bounds;

    _indicatorView.backgroundColor = [UIColor clearColor];

    _indicatorView.radius = 180;//215

    

    CABasicAnimation* rotationAnimation;

    rotationAnimation = [CABasicAnimationanimationWithKeyPath:@"transform.rotation.z"];

    rotationAnimation.toValue = [NSNumber numberWithFloatM_PI * 2.0 ];

    rotationAnimation.duration = 360.f/60;

    rotationAnimation.cumulative = YES;

    rotationAnimation.repeatCount = INT_MAX;

    [_indicatorView.layer addAnimation:rotationAnimationforKey:@"rotationAnimation"];

    

同车项目首页用到的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值