使用iOS 7创建了一个新的推送动画,它将推动的视图控制器滑动到层次结构的顶部。但是当动画发生时,iOS显然会做两件事来修改顶视图控制器的设计:
添加了阴影:
底部视图控制器上的灯光覆盖:
在大多数应用程序中,这不是问题。但是,我目前正在开发一个像素完美设计的应用程序,我使用具有清晰背景的视图控制器。但是此功能保持不变,并且灯光覆盖显示在视图控制器上。因为背景是白色渐变,所以此灯光覆盖(在屏幕截图2上)非常明显,并且当动画完成时,它将被移除而不会产生动画,这使得它非常明显且令人讨厌。
我知道我可以创建自定义动画和过渡,但我想知道:
有没有办法删除(或修改)此灯光叠加层和阴影,而无需创建自定义过渡?
感谢您的帮助。
答案 0 :(得分:1)
这不是最优雅的解决方案,但我看到人们使用UIImage
动画来展示他们想要展示的内容。所以,你可以:
UIViewController
UIImageView
pushViewController:animated:
,将NO
传递给animated:
UIImageView
再次,有点黑客,但也许这是你的方案的最佳解决方案。
答案 1 :(得分:1)
试试这个代理
[[UIImageView appearanceWhenContainedIn:NSClassFromString(@"_UIParallaxDimmingView"), nil] setAlpha:0.0f];
我不知道Apple是否允许这样做,因为它使用私有API。将在提交应用时更新。