Ios 源代码视图控制器在自定义过程中隐藏
我正在尝试制作一个自定义的序列,以便目标视图控制器从顶部向下滑动 我根据中的示例编写代码 问题是,当执行segue时,源代码视图控制器变黑,然后出现动画。如何防止源代码视图控制器变黑 (我已经尝试实现中介绍的解决方案,但在转换后屏幕变黑,或者恢复到源代码视图控制器。) 这是我的密码:Ios 源代码视图控制器在自定义过程中隐藏,ios,core-animation,uistoryboard,uistoryboardsegue,Ios,Core Animation,Uistoryboard,Uistoryboardsegue,我正在尝试制作一个自定义的序列,以便目标视图控制器从顶部向下滑动 我根据中的示例编写代码 问题是,当执行segue时,源代码视图控制器变黑,然后出现动画。如何防止源代码视图控制器变黑 (我已经尝试实现中介绍的解决方案,但在转换后屏幕变黑,或者恢复到源代码视图控制器。) 这是我的密码: -(void)perform{ UIViewController *splashScreen = self.sourceViewController; UIViewController *main
-(void)perform{
UIViewController *splashScreen = self.sourceViewController;
UIViewController *mainScreen = self.destinationViewController;
//Place the destination VC above the visible area
mainScreen.view.center = CGPointMake(mainScreen.view.center.x,
mainScreen.view.center.y-600);
//Animation to move the VC down into the visible area
[UIView animateWithDuration:1
animations:^{
mainScreen.view.center = CGPointMake(mainScreen.view.center.x, [[UIScreen mainScreen] bounds].size.height/2 );
}
];
[splashScreen presentModalViewController:mainScreen animated:NO];
}
源视图控制器似乎隐藏的原因是目标视图控制器立即显示 编写自定义分段时,不能同时使用两个视图。你也可以
- 按“视图控制器”,将源视图添加到目标视图控制器并设置动画
- 将目标视图添加到源视图控制器并设置动画,然后按“视图控制器”
- 推到中间视图控制器,添加两个视图,设置动画,推到目标视图控制器
在上述所有情况下,如果我说“推送视图控制器”,您可以改为以模式显示视图控制器。事实上,这可能更适合中间视图控制器解决方案 我尝试了你提到的第二种选择,效果很好。下面是代码:但是你提到的三个选项中哪一个是最有效的?它们之间的效率差别不大。你应该选择感觉最干净、最容易理解和维护的。对于生产代码,我个人会选择第三个选项,因为它不会在动画期间扰乱源或目标的视图层次结构。但这是一个品味的问题。@DavidRönnqvist我尝试的是流行音乐而不是推送音乐,但我基本上遵循选项1,我的源代码视图没有动画。你能看一下中的代码吗?解决方案非常简单。在显示新的视图控制器之前,必须完成动画。没什么了。