iOS 类似小红书闪动标签点动画

来源:互联网 发布:抢小米软件 编辑:程序博客网 时间:2024/05/17 09:03
#import "CombinationViewController.h"@interface CombinationViewController (){    NSTimer *showTimer;//计时器变量    UIView * scanLine;}@end@implementation CombinationViewController- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view.    self.view.backgroundColor = [UIColor whiteColor];    scanLine = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 50, 50)];    scanLine.layer.cornerRadius = 25;    scanLine.backgroundColor = [UIColor blueColor];    [self.view addSubview:scanLine];    UIView * topView = [[UIView alloc] initWithFrame:CGRectMake(120, 120, 10, 10)];    topView.layer.cornerRadius = 5;    topView.backgroundColor = [UIColor blueColor];    [self.view addSubview:topView];    //开启线程    [self performSelectorOnMainThread:@selector(startTimer) withObject:nil waitUntilDone:YES];}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}- (void)viewDidAppear:(BOOL)animated{    ///页面显示完毕的时候执行    //重新打开定时器    [showTimer setFireDate:[NSDate distantPast]];}-(void)startTimer{    //定义时间计数器:每隔2秒执行一次handleScrollTimer方法    showTimer = [NSTimer scheduledTimerWithTimeInterval:2.0                                                 target:self                                               selector:@selector(handleScrollTimer:)                                               userInfo:nil                                                repeats:true];    [[NSRunLoop currentRunLoop] addTimer:showTimer forMode:NSDefaultRunLoopMode];}///页面消失完毕的时候执行-(void)viewDidDisappear:(BOOL)animated{    //关闭定时器    [showTimer setFireDate:[NSDate distantFuture]];}-(void)handleScrollTimer:(NSTimer *)theTimer{    scanLine.transform = CGAffineTransformMakeScale(0.1, 0.1);    [UIView animateWithDuration:3                     animations:^{                         scanLine.transform = CGAffineTransformMakeScale(1.2, 1.2);                         scanLine.alpha = 1.0;                         [UIView beginAnimations:@"scanLine" context:nil];                         [UIView setAnimationDuration:2];                         [UIView setAnimationCurve:UIViewAnimationCurveLinear];                         scanLine.alpha = 0;                         [UIView commitAnimations];                     }completion:^(BOOL finish){    }];}
0 0
原创粉丝点击