半页卷曲动画背景视图颜色?

Posted

技术标签:

【中文标题】半页卷曲动画背景视图颜色?【英文标题】:semi page curl animation background view color? 【发布时间】:2012-12-14 09:29:20 【问题描述】:

在我的项目中,我使用了页面动画。 我的问题是我想在卷曲视图的背景上显示红色。我该如何做到这一点? 提前致谢。

CATransition *animation = [CATransition animation];
[animation setDelegate:self]; [animation setDuration:0.75];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];
animation.type = @"pageUnCurl"; 
animation.fillMode = kCAFillModeBackwards;
animation.startProgress = 0.65; 
[animation setRemovedOnCompletion:NO];
[[self view] exchangeSubviewAtIndex:[self.view.subviews count]-2 withSubviewAtIndex:3];
[[self view] exchangeSubviewAtIndex:[self.view.subviews count]-3 withSubviewAtIndex:2];
[[[self view] layer] addAnimation:animation forKey:@"pageCurlAnimation"];

这就是我改变看法的方式。

【问题讨论】:

添加 2 个视图并使用下面的视图添加按钮... 在此处粘贴代码。我们不知道您使用了哪些卷曲方法。可能你应该将此视图添加到其他视图中并设置背景颜色,但这是没有代码的唯一幸运猜测。 或许可以设置主窗口的背景色? 我也做过那个,但是那个观点没有改变。 悉达多添加的答案有帮助吗?如果是这样,请接受这个答案。它有助于清理社区。谢谢! 【参考方案1】:

如果您在动画发生时使用 CALayer 作为背景页面,这是可能的。

topPageReverseOverlay = [[CALayer alloc] init];
topPageReverseOverlay.backgroundColor = [[[UIColor redColor] colorWithAlphaComponent:0.8] CGColor];

【讨论】:

【参考方案2】:

如果您正在使用图层,那么当应用程序进入后台进程时,您可以放松该特定图层的卷曲效果。

【讨论】:

【参考方案3】:

如果您想完全控制部分卷曲背后的内容的显示,您可以将其设置为单独的 VC。这是一个例子:

EndPartialCurlViewController *nextViewController = [[EndPartialCurlViewController alloc] init];
[nextViewController setModalTransitionStyle:UIModalTransitionStylePartialCurl];
[[self navigationController] presentViewController:nextViewController animated:YES completion:nil];

然后您可以在此 EndPartialCurlViewController 中构建您想要的任何颜色、视图、按钮等。

【讨论】:

【参考方案4】:

我相信您的问题的答案可以在这个帖子中找到.. Underside color of curling view using UIViewAnimationTransitionCurlUp

【讨论】:

【参考方案5】:

经过大量冲浪后,我发现有一种方法可以使用过滤器和图层,我们可以实现这一方法,但这是一种未记录的方法,如果您使用图层,那么当应用程序进入后台进程时,您可以放松卷曲效果那个特定的层..

【讨论】:

以上是关于半页卷曲动画背景视图颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何卷曲/折叠 UIView 的底角

UIView,动画背景颜色非常缓慢,挂起滚动视图(!)

在具有多个部分的 tableView 中滚动时使用平滑动画更改视图背景渐变颜色

使用淡入淡出动画从布尔[重复]更改背景颜色视图

Swift 3:如何为类似于进度条的视图背景颜色设置动画

使用动画更改 UIView 背景颜色