在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 –
你需要与其他问题有什么不同? –
这个问题似乎只是在视图中应答褪色,而不是用淡入淡出过渡更新视图。 –