實現View切換的動畫效果

2021-08-31 05:33:20 字數 1722 閱讀 7103

實現iphone漂亮的動畫效果主要有兩種方法,一種是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:可以返回四種型別:

kcatransitionfade淡出

kcatransitionmovein覆蓋原圖

kcatransitionpush推出

kcatransitionreveal底部顯出來

setsubtype:也可以有四種型別:

kcatransitionfromright;

kcatransitionfromleft(預設值)

kcatransitionfromtop;

kcatransitionfrombottom

還有一種設定動畫型別的方法,不用setsubtype,只用settype

[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) else {

= @"mapuncurl";

animation.type = @"pageuncurl";

animation.fillmode = kcafillmodebackwards;

Activity切換動畫效果

首先在res anim 下 宣告兩個動畫效果 fade.xml html view plain copy xmlversion 1.0 encoding utf 8 alpha xmlns android android interpolator android anim accelerate in...

Activity切換的動畫效果

andorid中實現activity之間切換的動畫有兩種方法 在 中使用overridependingtransition方法。在androidmanifest.xml檔案中,通過主題在設定activity間的切換動畫。接下來,具體看看兩種方式的實現 首先在xml檔案中宣告兩個動畫效果,例如 fad...

Activity之間的動畫切換效果

通常我們在啟動乙個新的activity的時候,效果都是很單一的。當我們想每乙個activity都有乙個獨有的出場方式進入到當前主螢幕,那麼整個應用給使用者的感官效果會更好些。那麼我們從何出著手來實現這些自己想要的效果呢?通過查閱資料activity類用乙個overridependingtransit...