在TwUI
,有一種叫做redraw
上TUIView
方法。它強制視圖重繪,但它也帶有視圖的新舊狀態之間的自由衰落動畫。用淡出動畫重繪UIView?
我想知道如果這樣的事情在一個正常的UIView
是可能的。基本上,我如何重新繪製視圖(setNeedsDisplay
)與舊狀態和新狀態之間的淡出動畫?
在TwUI
,有一種叫做redraw
上TUIView
方法。它強制視圖重繪,但它也帶有視圖的新舊狀態之間的自由衰落動畫。用淡出動畫重繪UIView?
我想知道如果這樣的事情在一個正常的UIView
是可能的。基本上,我如何重新繪製視圖(setNeedsDisplay
)與舊狀態和新狀態之間的淡出動畫?
使用+[UIView transitionWithView:duration:options:animations:completion:]
與UIViewAnimationOptionTransitionCrossDissolve
選項,動畫塊內,強制視圖的層立即重繪其內容。
[myView setNeedsDisplay];
[UIView transitionWithView:myView duration:1
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[myView.layer displayIfNeeded];
} completion:nil];
你是男人!完美工作。我真的應該刷我的核心動畫,不是嗎? –
哈哈,也許吧。我從WWDC 2011的* [Core Animation Essentials](https://developer.apple.com/videos/wwdc/2011/#core-animation-essentials)*視頻中瞭解了許多*。但對於您的問題,我也必須編寫一個小測試程序來改變代碼創建的CALayer的內容屬性並查看附加的動畫。 –
感謝您的鏈接,我會在某個時候觀看它。我還購買了Zarra&Long的書* Core Animation *,但我很慚愧地說我還沒有讀過它。是時候休息一下了! :) –
如何使用交叉疊的UIView過渡?
[UIView transitionWithView:aView
duration:TIME_INTERVAL
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
// Change the view's state
}
completion:^(BOOL finished) {
// Completion block
}];
這個問題是相似的,但不完全是我正在尋找:http://stackoverflow.com/questions/4730110/i-want-to-animate-in-fact-fade-within-drawrect –
你需要與其他問題有什麼不同? –
這個問題似乎只是在視圖中應答褪色,而不是用淡入淡出過渡更新視圖。 –