<code id="hhvte"><label id="hhvte"></label></code>
  • iOS的動畫效果類型及實現方法
    來源:易賢網 閱讀:4045 次 日期:2015-05-08 14:43:20
    溫馨提示:易賢網小編為您整理了“iOS的動畫效果類型及實現方法”,方便廣大網友查閱!

    實現iOS漂亮的動畫效果主要有兩種方法,

    一種是UIView層面的,

    一種是使用CATransition進行更低層次的控制,

    第一種是UIView,UIView方式可能在低層也是使用CATransition進行了封裝,它只能用于一些簡單的、常用的效果展現,這里寫一個常用的示例代碼,供大家參考。

    [UIView beginAnimations:@"Curl"context:nil];//動畫開始

    [UIView setAnimationDuration:0.75];

    [UIView setAnimationDelegate:self];

    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:myview cache:YES];

    [myview removeFromSuperview];

    [UIView commitAnimations];

    第二種方式相對復雜一些,但如果更好的進行控制,還是使用這種方法吧,

    基本使用方法可以看一下如下例子:

    CATransition *animation = [CATransition animation];

    [animation setDuration:1.25f];

    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];

    [animation setType:kCATransitionReveal];

    [animation setSubtype: kCATransitionFromBottom];

    [self.view.layer addAnimation:animation forKey:@"Reveal"];

    這里使用了setType與setSubtype組合,這使用個比較保險,因為他的參數就是官方API里定義的,他們的參數說明可以參考如下:

    [animation setType:@"suckEffect"];

    這里的suckEffect就是效果名稱,可以用的效果主要有:

    pageCurl 向上翻一頁

    pageUnCurl 向下翻一頁

    rippleEffect 滴水效果

    suckEffect 收縮效果,如一塊布被抽走

    cube 立方體效果

    oglFlip 上下翻轉效果

    最后再給出一種常用代碼供大家參考。

    // Curl the image up or down

    CATransition *animation = [CATransition animation];

    [animation setDuration:0.35];

    [animation setTimingFunction:UIViewAnimationCurveEaseInOut];

    if (!curled)

    {

    //animation.type = @"mapCurl";

    animation.type = @"pageCurl";

    animation.fillMode = kCAFillModeForwards;

    animation.endProgress = 0.99;

    } else {

    //animation.type = @"mapUnCurl";

    animation.type = @"pageUnCurl";

    animation.fillMode = kCAFillModeBackwards; animation.startProgress = 0.01;

    }

    [animation setRemovedOnCompletion:NO];

    [view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];

    [view addAnimation:animation forKey"pageCurlAnimation"];

    // Disable user interaction where necessary

    if (!curled) {

    }

    else {

    }

    curled = !curled;

    更多信息請查看IT技術專欄

    更多信息請查看技術文章
    下一篇:iOS runtime原理
    易賢網手機網站地址:iOS的動畫效果類型及實現方法
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

    版權所有:易賢網