UIView下使用Animation控制動畫

2021-09-06 20:00:27 字數 1557 閱讀 7987

動畫效果是ios介面重要的特色之一,其中caanimation是所有動畫物件的抽象父類,作為新人,使用較多的是uiview下的動畫方法(類方法)。使用uiview下的動畫,有下面幾個方法。

方法一:設定beginanimations

其中memberview為需要新增的子檢視的檢視,mivc.view為子檢視,在使用的時候,需要將這兩個地方替換

[cpp]view plain

copy

print?

[uiview beginanimations:@"view flip" context:nil];  

[uiview setanimationduration:1];  

[uiview setanimationtransition:uiviewanimationtransitionflipfromright forview:memberview cache:yes];  

[memberview addsubview:mivc.view];  

[uiview commitanimations];  

需要注意的是,一定要使用[uiview commitanimations];動畫才會生效

通過[uiview setanimationduration:1]; 設定持續時間。

在ios4.0後,我們有了新的方法,+ (void)transitionwithview:(uiview *)view duration:(nstimeinterval)duration options:(uiviewanimationoptions)options animations:(void (^)(void))animations completion:(void (^)(bool finished))completion,依然是uiview的類方法,但使用到了block物件,block物件是一組指令,可以傳遞(像變數一樣),可以把它想像成c語言的函式指標。

方法二:

其中在當前檢視下,刪除[blueviewcontroller view],新增[yellowviewcontroller view],在使用時,這兩個地方要替換

[cpp]view plain

copy

print?

[uiview transitionwithview:self.view  

duration:0.2  

options:uiviewanimationoptiontransitionflipfromleft  

animations:^  

completion:null

];  

其中animations:後的block為對特定檢視發生的改變,其不能為是null,completion:後block為動畫執行完後,需要執行的**塊,可以為null。

根據手冊,在整個動畫過程中,使用者互動對於此檢視是暫時無效的(而ios5.0前,動畫過程中,使用者互動對於整個應用是無效的),如果想要使用者可以和檢視互動,可以改變uiviewanimationoptionallowuserinteraction的值。

使用xib布局UIView

一般情況使用 自定義uiview,看不到效果且 冗長 所以可以使用xib布局view.1.新建乙個類,整合自uiview 2.新建乙個uiview的xib,名字要和第一步新建的類名字一致 填寫建立xib的名字和位址 名字和第一步新建的類一致 新建的檔案 3.在xib中關聯建立的view 在xib中選...

UIView的概念與使用

property nonatomic,readonly uiview superview 獲得自己的父控制項物件 property nonatomic,readonly,copy nsarray subviews 獲得自己的所有子控制項物件 property nonatomic cgaffinetr...

使用自定義的UIView

其實使用自定義的uiview非常簡單,就是利用模板生成的基於view的ios程式,然後在xib檔案中,將對應view的對應類修改為你的自定義類就可以了。當然也可以使用直接建立的方式,就是在loadview當中直接使用的方式進行繪製。myview view myview alloc initwithf...