QuartzCore .layer.shadow吸收了性能.它们似乎需要在每次发生变化时重新渲染,导致一切都滞后.
Coregraphics渐变(用于单向阴影) - 看起来不正确.如果你的渐变从0.3 alpha变为0,它会产生一些奇怪的效果,你可以"看到"它停止.它看起来不漂亮或自然.也许它没有抖动,但我确信我听说过核心图形渐变.这很奇怪,我不知道.
Coregraphics阴影 - 在设置时需要一段时间来渲染,但其他方面性能很好.只是第二个你正在等待视图出现,因为它必须先渲染它的阴影,这就是问题所在.
所以我一定错过了什么.还有另一种看起来正确的方法,并且在渲染时间和性能方面都很快吗?
使用iOS 7的自定义视图控制器转换,我希望实现类似于iOS 7中Apple默认视图控制器转换的视觉效果.
(可以通过向左滑动窗口将视图控制器从左侧滑动到右侧的视图控制器,其中顶视图控制器从阴影的顶部滑出,导航栏移动.)

不过,我在实现这个方面遇到了很多困难.自定义视图控制器上的大多数教程都使用与默认视图非常不同的效果,以显示API的功能,但我想复制这个.
在我的实现子类中,<UIViewControllerAnimatedTransitioning>我有以下代码用于交互式动画:
- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext
{
UIViewController* toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
UIViewController* fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
[transitionContext.containerView addSubview:toViewController.view];
[transitionContext.containerView addSubview:fromViewController.view];
fromViewController.view.layer.shadowOffset = CGSizeMake(0.0, 0.0);
fromViewController.view.layer.shadowColor = [UIColor blackColor].CGColor;
fromViewController.view.layer.shadowRadius = 5.0;
fromViewController.view.layer.shadowOpacity = 0.5;
[UIView animateWithDuration:[self transitionDuration:transitionContext] delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{
CGRect newFrame = fromViewController.view.frame;
newFrame.origin.x = CGRectGetWidth(fromViewController.view.bounds);
fromViewController.view.frame = newFrame;
} completion:^(BOOL finished) {
[transitionContext completeTransition:!transitionContext.transitionWasCancelled];
}];
}
Run Code Online (Sandbox Code Playgroud)
然而,阴影代码使它显着滞后(即使我使用新snapshot方法),我根本无法弄清楚如何操纵导航栏.
有没有人试图做类似的事情,并能够提供示例代码?
用于测试的示例项目,如果您愿意:http://cl.ly/0B3q1b390x0D
感谢objc.io获取基本代码.
我有一个UILabel与CALayer阴影on.And我只是将它周围通过UIView动画.
性能很差,我可以看到动画根本不流畅.
我认为这是UILabel导致动画问题的阴影,因为如果我关闭阴影,动画会变得像平常一样平滑.
我试过用 view.layer.shouldRasterize = YES;
但动画表现仍然存在.
谁能给我一些提示?
谢谢
ios ×2
iphone ×2
objective-c ×2
shadow ×2
animation ×1
ios7 ×1
ipad ×1
performance ×1
uiview ×1