2012-06-28 41 views
0

我想在自己的文檔查看器中實現嵌套評論(如貼紙)。 起初,它應該是UITextView,但是當執行resignFirstResponder時,它應該變成一個小按鈕。 主要問題是:如何動畫? 我已經閱讀了Apple的Quartz 2d編程指南,但它沒有給我任何想法。 我沒有要求準確或現成的解決方案:關鍵字,文章或文檔鏈接就足夠了。 感謝您的迴應。如何用自定義動畫替換另一個UI元素?

+0

交叉淡入是一個選項。 – Till

+0

事情是,我想嘗試用手做出這樣的動畫。 – folex

+0

交叉衰落的錯誤是什麼?動畫控制(UIView)的alpha值的變化? – Till

回答

1

,如果你想在一個按鈕,淡入和淡出的文本框,您可以使用此方法

[UIView animateWithDuration: delay: options: animations: completion:]; 

因此,這將是

//Starting properties 
myButton.alpha = 0; 
myTextField.alpha = 1; 

//Do the animation 
[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationCurveEaseInOut animations:^{ 
    myButton.alpha = 1; 
    myTextField.alpha = 0; 
} completion:^(BOOL finished) { 
    if (finished) { 
     NSLog(@"finished animating"); 
    } 
}]; 

這將2個對象的不透明度改變從0 - 1/1 - 0超過300毫秒

您可以使用這種方式製作大小,位置,不透明度等多種屬性的動畫效果。

+0

謝謝,但我知道如何做這樣一個簡單的動畫。我不知道如何創建自定義的。 – folex

+0

@folex請用更多的詞語來描述你所謂的自定義動畫。 – Till

+0

我的意思是手工製作的動畫。例如。當你指定每個轉換或類似的東西。我無法更正式地描述它,因爲如果我可以的話,我只會谷歌它:) 也許有沒有辦法做到這一點?無論如何,我會在閱讀Core Animation編程指南後嘗試解決它。 – folex

0

您可以按照Apple在QuickLook中兩個不同元素之間淡出的方式執行此操作。您可以通過按轉變 + 空間自己在慢動作中看到效果,同時在Finder中選擇了一個項目。

動畫基本上是一個交叉淡入淡出的同時,幀的變化。您應該可以將按鈕和文本視圖同時渲染爲圖像,並使用兩個圖像視圖(僅在動畫期間存在)執行動畫,以便在幀變化時隨着縱橫比的變化拉伸圖像。

你需要核心動畫才能將視圖渲染成圖像,但其餘的圖像只是幀和alpha /不透明動畫,所以你應該可以用UIView動畫做它們(如果核心動畫對你來說似乎很複雜) 。儘管核心動畫在調整動畫時會給你更細緻的控制。

相關問題