ios 文字翻轉 ios 一 翻轉動畫

2021-10-19 15:59:40 字數 1343 閱讀 6643

專案的任務,需要實現乙個類似於下圖的翻轉動畫,在翻轉的同時,還要進行改變。

目標動畫

最開始,直接使用uiview的動畫。

**很簡單:- (void)viewanimation else completion:^(bool finished) - (void)changeimg

if (_imageview.tag == 101) else {

_imageview.image = [uiimage imagenamed:@"icon"];

_imageview.tag = 101;

但是,效果有問題,翻轉的時候,會轉到反面去。

簡單layer動畫

仔細分析之後,我發現,需要達到的功能是:先順著旋轉90°,接著再逆著旋轉90°。這樣,就不會顯示反著的。

這樣的話,就需要乙個連續的動畫效果。

使用cabasicanimation,我無法實現這樣的功能。後來,發現可以使用cakeyframeanimation,來建立這樣的動畫效果。

**如下:- (void)layerrotation  {

cakeyframeanimation *keyanimation = [cakeyframeanimation animation];

// 旋轉角度, 其中的value表示影象旋轉的最終位置

keyanimation.values = [nsarray arraywithobjects:

[nsvalue valuewithcatransform3d:catransform3dmakerotation(0, 0,1,0)],

[nsvalue valuewithcatransform3d:catransform3dmakerotation((m_pi/2), 0,1,0)],

[nsvalue valuewithcatransform3d:catransform3dmakerotation(0, 0,1,0)],

nil];

keyanimation.cumulative = no;

keyanimation.duration = 1.2 * actionseconds;

keyanimation.repeatcount = 1;

keyanimation.removedoncompletion = no;

keyanimation.delegate = self;

[_imageview.layer addanimation:keyanimation forkey:@"transform"];

[self performselector:@selector(changeimg) withobject:nil afterdelay:0.6 * actionseconds];

ios 文字翻轉 iOS 連續翻轉動畫

專案的任務,需要實現乙個類似於下圖的翻轉動畫,在翻轉的同時,還要進行改變。翻轉過去用時1秒,翻轉回來用時1秒,展示3秒 single.gif void starttransformanimation completion bool finished completion bool finished ...

CSS3 3D翻轉動畫

css3動畫屬性 transform 變換 大小 位置 顏色 變形等狀態的變化 transition 過渡 初始狀態過渡到結束狀態這個過程中產生的動畫 animation 動畫 定義關鍵幀動畫 css3可以實現多種動畫效果,下面說的是css3實現乙個3d翻轉的動畫效果。上 html containe...

iOS 字串翻轉

記錄一次面試題 i am a boy。翻轉成 boy。a am i 保留空格 import nsstring reverse.h implementation nsstring reverse 翻轉字串 return 待發展字串 nsstring reversestring return marra...