Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 源代码视图控制器在自定义过程中隐藏_Ios_Core Animation_Uistoryboard_Uistoryboardsegue - Fatal编程技术网

Ios 源代码视图控制器在自定义过程中隐藏

Ios 源代码视图控制器在自定义过程中隐藏,ios,core-animation,uistoryboard,uistoryboardsegue,Ios,Core Animation,Uistoryboard,Uistoryboardsegue,我正在尝试制作一个自定义的序列,以便目标视图控制器从顶部向下滑动 我根据中的示例编写代码 问题是,当执行segue时,源代码视图控制器变黑,然后出现动画。如何防止源代码视图控制器变黑 (我已经尝试实现中介绍的解决方案,但在转换后屏幕变黑,或者恢复到源代码视图控制器。) 这是我的密码: -(void)perform{ UIViewController *splashScreen = self.sourceViewController; UIViewController *main

我正在尝试制作一个自定义的序列,以便目标视图控制器从顶部向下滑动

我根据中的示例编写代码

问题是,当执行segue时,源代码视图控制器变黑,然后出现动画。如何防止源代码视图控制器变黑

(我已经尝试实现中介绍的解决方案,但在转换后屏幕变黑,或者恢复到源代码视图控制器。)

这是我的密码:

-(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,我的源代码视图没有动画。你能看一下中的代码吗?解决方案非常简单。在显示新的视图控制器之前,必须完成动画。没什么了。