Objective c 我有一个带有自定义UIStoryboardSegue对象的小测试项目,但动画有一个黑色阴影。有办法把它去掉吗?

Objective c 我有一个带有自定义UIStoryboardSegue对象的小测试项目,但动画有一个黑色阴影。有办法把它去掉吗?,objective-c,cocoa-touch,uistoryboardsegue,Objective C,Cocoa Touch,Uistoryboardsegue,我正在用Xcode 10为iOS开发一个小测试项目。我基本上是在测试定制的UIStoryboardSegues。我已经准备了一份报告来证明这种不良行为 在segue动画中,屏幕上会显示一个黑色阴影。您可以在测试项目中看到它,因为我已将动画时间设置为5秒。 非常感谢您的帮助。谢谢您看到的是动画开始和结束附近视图的不透明度变化,因此您看到的阴影实际上是背景窗口。虽然它可能并不完美,但一个快速修复方法是更改窗口的背景色以匹配目标视图控制器的背景色,然后在转换完成后将其设置回原位(如果需要) i、 e:

我正在用Xcode 10为iOS开发一个小测试项目。我基本上是在测试定制的UIStoryboardSegues。我已经准备了一份报告来证明这种不良行为

在segue动画中,屏幕上会显示一个黑色阴影。您可以在测试项目中看到它,因为我已将动画时间设置为5秒。
非常感谢您的帮助。谢谢

您看到的是动画开始和结束附近视图的不透明度变化,因此您看到的阴影实际上是背景窗口。虽然它可能并不完美,但一个快速修复方法是更改窗口的背景色以匹配目标视图控制器的背景色,然后在转换完成后将其设置回原位(如果需要)

i、 e:

您还需要将动画切换到sourceView的层:

[sourceViewController.view.layer addAnimation:transition forKey:nil];
但这实际上只是一个让它看起来稍微好一点的变通方法。我强烈建议不要使用自定义故事板分段,而是使用自定义动画师,这将使您对动画过渡有更多的控制

我的答案是:有一个完整的自定义幻灯片/幻灯片下动画的例子

以下是相关文档的链接:

[sourceViewController.view.layer addAnimation:transition forKey:nil];