ios動(dòng)畫效果四:使用Pop框架實(shí)現(xiàn)彈簧效果

pop框架是Google推出的用于處理iOS動(dòng)畫的一個(gè)特別好用的框架
如果對(duì)這個(gè)框架沒有了解的,可與去看一下官方提供的資料

這次我主要使用pop框架實(shí)現(xiàn)一個(gè)簡單的彈簧效果
對(duì)應(yīng)的demo為
Demo

實(shí)現(xiàn)文件名稱是ThirdViewController
最終的效果圖為:


pop框架實(shí)現(xiàn)彈簧動(dòng)畫.gif

首先,定義一個(gè)UIView屬性

@property (nonatomic, strong) UIView *myView;

將其添加到view上

- (UIView *)myView {
    if (_myView) {
        return _myView;
    }
    _myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    _myView.backgroundColor = [UIColor yellowColor];
    return _myView;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    self.title = @"pop框架實(shí)現(xiàn)彈簧動(dòng)畫";
    self.navigationController.navigationBar.translucent = NO;
    self.view.backgroundColor = [UIColor whiteColor];
    
//    [self.view addSubview:self.tableView];
    self.myView.center = self.view.center;
    [self.view addSubview:self.myView];
}

在點(diǎn)擊屏幕時(shí),實(shí)現(xiàn)相應(yīng)的代碼效果

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    //初始化彈簧動(dòng)畫
    POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPLayerBounds];
    springAnimation.springSpeed = 0;//設(shè)置動(dòng)畫的速度
    springAnimation.springBounciness = 10;//設(shè)置彈性大小
    springAnimation.dynamicsFriction = 10;//設(shè)置阻力的大小
    springAnimation.dynamicsTension = 100;//設(shè)置張力的大小
    if (self.myView.frame.size.width == 100) {
        springAnimation.toValue = [NSValue valueWithCGRect:CGRectMake(0, 0, 50, 50)];
    } else {
        springAnimation.fromValue = [NSValue valueWithCGRect:CGRectMake(0, 0, 100, 100)];
    }
    
    //添加動(dòng)畫
    [self.myView.layer pop_addAnimation:springAnimation forKey:@"animation"];
}

總結(jié)

最終的效果圖

pop框架實(shí)現(xiàn)彈簧動(dòng)畫.gif

Demo地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容