相关疑难解决方法(0)

"从View Controller"使用UIViewControllerContextTransitioning消失

我有一个问题,我在下面描述了它.

我正在使用UIViewControllerContextTransitioning进行自定义转换.

我有2个视图控制器,第一个视图控制器和第二个视图控制器.

现在我想在带有动画的第一个视图控制器上添加第二视图控制器.我已经实现了,现在我有第二视图控制器透明,所以我们可以看到第二视图控制器下面的第一个视图控制器.

但我无法看到第一个视图控制器,我只能看到第二视图控制器下方的黑屏.

这是代码.

-(void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext{
    self.transitionContext = transitionContext;
    if(self.isPresenting){
        [self executePresentationAnimation:transitionContext];
    }
    else{
       [self executeDismissalAnimation:transitionContext];
    }
  }

-(void)executePresentationAnimation:(id<UIViewControllerContextTransitioning>)transitionContext{
     UIView* inView = [transitionContext containerView];
     UIViewController* toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];

     UIViewController* fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];

     CGRect offScreenFrame = inView.frame;
     offScreenFrame.origin.y = inView.frame.size.height;
     toViewController.view.frame = offScreenFrame;

    toViewController.view.backgroundColor = [UIColor clearColor];
    fromViewController.view.backgroundColor = [UIColor clearColor];
    inView.backgroundColor = [UIColor  clearColor];
    [inView insertSubview:toViewController.view aboveSubview:fromViewController.view];
     // [inView addSubview:toViewController.view];
    CFTimeInterval duration = self.presentationDuration;
    CFTimeInterval halfDuration = duration/2;

    CATransform3D t1 = [self firstTransform];
    CATransform3D t2 = [self …
Run Code Online (Sandbox Code Playgroud)

iphone transition objective-c uiview ios

103
推荐指数
10
解决办法
3万
查看次数

标签 统计

ios ×1

iphone ×1

objective-c ×1

transition ×1

uiview ×1