相关疑难解决方法(0)

正确使用transitionFromViewController:toViewController:duration:options:animations:completion:

我似乎无法找到一个如何transitionFromViewController:toViewController:duration:options:animations:completion:正确使用的好例子.

它是否正确?(假设我想将VC换成另一个)

// Assume fromVC and toVC view controllers are defined and fromVC is already added as a child view controller
[self addChildViewController:toVC];

[self transitionFromViewController:fromVC toViewController:toVC duration:0.3 options:UIViewAnimationOptionTransitionCrossDissolve animations:NULL completion:^(BOOL finished) {
    [fromVC willMoveToParentViewController:nil];
    [fromVC removeFromParentViewController];
    [toVC didMoveToParentViewController:self];
}];
Run Code Online (Sandbox Code Playgroud)

关于何时调用什么文档并不清楚:

addChildViewController:方法调用 willMoveToParentViewController:为孩子添加它之前被添加视图控制器的方法,但它不会调用 didMoveToParentViewController:方法.容器视图控制器类必须在转换到新子项完成后调用子视图控制器的didMoveToParentViewController:或者,如果没有转换,则在调用addChildViewController:方法之后立即调用 .

同样,容器视图控制器负责在调用removeFromParentViewController:方法之前调用 willMoveToParentViewController :方法.该 removeFromParentViewController:方法调用 didMoveToParentViewController:子视图控制器的方法.

另一件事是,在这种情况下你如何使用动画块?请注意上面的代码我刚才提出的NULL.(我对块本身很熟悉,我只是不确定在这个版本中应该放什么)

iphone objective-c ipad ios

33
推荐指数
1
解决办法
3万
查看次数

标签 统计

ios ×1

ipad ×1

iphone ×1

objective-c ×1