最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS仿抖音視頻加載動(dòng)畫效果的實(shí)現(xiàn)方法

 更新時(shí)間:2018年11月15日 10:18:09   作者:東引甌越  
這篇文章主要給大家介紹了關(guān)于iOS視頻加載動(dòng)畫效果的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

這幾天一直跟開(kāi)源的抖音demo斗智斗勇,今天跟大家分享的是抖音中或者快手中加載視頻的動(dòng)畫,這個(gè)加載效果還是挺實(shí)用,下面話不多說(shuō)了,來(lái)隨著小編一起學(xué)習(xí)學(xué)習(xí)吧

上圖看成品

實(shí)現(xiàn)原理

首先我創(chuàng)建一個(gè)視圖

@interface ViewController ()
@property (nonatomic, strong) UIView *playLoadingView;
@end
@implementation ViewController
- (void)viewDidLoad {
 [super viewDidLoad];
 
 //init player status bar
 self.playLoadingView = [[UIView alloc]init];
 self.playLoadingView.backgroundColor = [UIColor whiteColor];
 [self.playLoadingView setHidden:YES];
 [self.view addSubview:self.playLoadingView];
 
 //make constraintes
 [self.playLoadingView mas_makeConstraints:^(MASConstraintMaker *make) {
 make.center.equalTo(self.view);
 make.width.mas_equalTo(1.0f); //寬 1 dp
 make.height.mas_equalTo(0.5f); //高 0.5 dp
 }];
 
 [self startLoadingPlayAnimation:YES]; //調(diào)用動(dòng)畫代碼
}

這里我們可以看到 我們實(shí)際上創(chuàng)建的是一個(gè) 1pt寬度 0.5 pt的寬度 的視圖

緊接著動(dòng)畫實(shí)現(xiàn)的代碼

- (void)startLoadingPlayAnimation:(BOOL)isStart {
 if (isStart) {
 self.playLoadingView.backgroundColor = [UIColor whiteColor];
 self.playLoadingView.hidden = NO;
 [self.playLoadingView.layer removeAllAnimations];
 
 CAAnimationGroup *animationGroup = [[CAAnimationGroup alloc] init];
 animationGroup.duration = 0.5;
 animationGroup.beginTime = CACurrentMediaTime() + 0.5;
 animationGroup.repeatCount = MAXFLOAT;
 animationGroup.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
 
 CABasicAnimation *scaleAnimation = [CABasicAnimation animation];
 scaleAnimation.keyPath = @"transform.scale.x";
 scaleAnimation.fromValue = @(1.0f);
 scaleAnimation.toValue = @(1.0f * ScreenWidth);
 
 CABasicAnimation *alphaAnimation = [CABasicAnimation animation];
 alphaAnimation.keyPath = @"opacity";
 alphaAnimation.fromValue = @(1.0f);
 alphaAnimation.toValue = @(0.5f);
 
 [animationGroup setAnimations:@[scaleAnimation, alphaAnimation]];
 [self.playLoadingView.layer addAnimation:animationGroup forKey:nil];
 } else {
 [self.playLoadingView.layer removeAllAnimations];
 self.playLoadingView.hidden = YES;
 }
}

完事 就這幾行代碼 搞定

其實(shí)核心的只有4行代碼

CABasicAnimation *scaleAnimation = [CABasicAnimation animation];
scaleAnimation.keyPath = @"transform.scale.x";
scaleAnimation.fromValue = @(1.0f);
scaleAnimation.toValue = @(1.0f * ScreenWidth);

關(guān)鍵在scaleAnimation.keyPath = @"transform.scale.x"; 這里我們要沿著x做縮放

縮放的得值從 1~屏幕寬度, 當(dāng)然值多大自己可以控制.

如果@"transform.scale.y" 則是沿著Y軸縮放

當(dāng)然 如果寫成@"transform.scale" 那就X,Y 一起縮放 大家可以試試.

總結(jié)

本篇的動(dòng)畫技巧是 縮放的 transform.scale.y 從一個(gè)點(diǎn) 做layer縮放 就會(huì)出現(xiàn) 加載效果.

最后附上demo (本地下載

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • iOS實(shí)現(xiàn)視頻和圖片的上傳思路

    iOS實(shí)現(xiàn)視頻和圖片的上傳思路

    這篇文章主要介紹了iOS實(shí)現(xiàn)視頻和圖片的上傳思路,本文分步驟給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • iOS中的線程死鎖實(shí)例詳解

    iOS中的線程死鎖實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于iOS中線程死鎖的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • IOS中計(jì)算緩存文件的大小判斷實(shí)例詳解

    IOS中計(jì)算緩存文件的大小判斷實(shí)例詳解

    這篇文章主要介紹了IOS中計(jì)算緩存文件的大小判斷實(shí)例詳解的相關(guān)資料,希望通過(guò)本能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • iOS?Lotusoot模塊化工具應(yīng)用的動(dòng)態(tài)思路

    iOS?Lotusoot模塊化工具應(yīng)用的動(dòng)態(tài)思路

    項(xiàng)目的不斷更迭,導(dǎo)致項(xiàng)目越來(lái)越大,越來(lái)越臃腫,為了讓項(xiàng)目更加條理,需要對(duì)項(xiàng)目進(jìn)行模塊化處理,為了減少模塊之間的耦合,于是就有了Lotusoot這個(gè)工具
    2022-08-08
  • iOS獲取驗(yàn)證碼倒計(jì)時(shí)效果

    iOS獲取驗(yàn)證碼倒計(jì)時(shí)效果

    這篇文章主要為大家詳細(xì)介紹了iOS獲取驗(yàn)證碼倒計(jì)時(shí)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • ios利用RunLoop原理實(shí)現(xiàn)去監(jiān)控卡頓實(shí)例詳解

    ios利用RunLoop原理實(shí)現(xiàn)去監(jiān)控卡頓實(shí)例詳解

    這篇文章主要為大家介紹了ios利用RunLoop原理實(shí)現(xiàn)去監(jiān)控卡頓實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • iOS Label實(shí)現(xiàn)文字漸變色效果

    iOS Label實(shí)現(xiàn)文字漸變色效果

    文字漸變色可以使整體的效果更上一個(gè)檔次,最近在開(kāi)發(fā)中就遇到了這個(gè)需求,所以整理出來(lái),下面這篇文章主要給大家介紹了關(guān)于iOS Label實(shí)現(xiàn)文字漸變色效果的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-05-05
  • iOS實(shí)現(xiàn)垂直滑動(dòng)條效果

    iOS實(shí)現(xiàn)垂直滑動(dòng)條效果

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)垂直滑動(dòng)條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Swift Self詳解及簡(jiǎn)單實(shí)例代碼

    Swift Self詳解及簡(jiǎn)單實(shí)例代碼

    這篇文章主要介紹了Swift Self詳解及簡(jiǎn)單實(shí)例代碼的相關(guān)資料,這里對(duì)self 進(jìn)行了詳細(xì)介紹并附實(shí)例代碼,需要的朋友可以參考下
    2016-12-12
  • iOS自定義UIButton點(diǎn)擊動(dòng)畫特效

    iOS自定義UIButton點(diǎn)擊動(dòng)畫特效

    這篇文章主要為大家詳細(xì)介紹了iOS自定義UIButton點(diǎn)擊動(dòng)畫特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評(píng)論

泌阳县| 根河市| 怀来县| 张家港市| 威宁| 天峻县| 莫力| 类乌齐县| 通河县| 师宗县| 平舆县| 吉水县| 平远县| 吉林市| 达尔| 河西区| 安顺市| 五莲县| 上虞市| 梅河口市| 武邑县| 瑞昌市| 天柱县| 汪清县| 青冈县| 托里县| 乌拉特前旗| 兖州市| 澜沧| 樟树市| 贡嘎县| 大安市| 淮北市| 华阴市| 无锡市| 临安市| 原平市| 桃源县| 桐柏县| 金湖县| 内乡县|