zoukankan      html  css  js  c++  java
  • ios containerViewController

     1 - (void)replaceViewController:(UIViewController *)existingViewController withViewController:(UIViewController *)newViewController inContainerView:(UIView *)containerView completion:(void (^)(void))completion
     2 {
     3     // Add initial view controller
     4     if (!existingViewController && newViewController) {
     5         [newViewController willMoveToParentViewController:self];
     6         [newViewController beginAppearanceTransition:YES animated:NO];
     7         [self addChildViewController:newViewController];
     8         newViewController.view.frame = containerView.bounds;
     9         [containerView addSubview:newViewController.view];
    10         [newViewController didMoveToParentViewController:self];
    11         [newViewController endAppearanceTransition];
    12         if (completion) completion();
    13     }
    14     // Remove existing view controller
    15     else if (existingViewController && !newViewController) {
    16         [existingViewController willMoveToParentViewController:nil];
    17         [existingViewController beginAppearanceTransition:NO animated:NO];
    18         [existingViewController.view removeFromSuperview];
    19         [existingViewController removeFromParentViewController];
    20         [existingViewController didMoveToParentViewController:nil];
    21         [existingViewController endAppearanceTransition];
    22         if (completion) completion();
    23     }
    24     // Replace existing view controller with new view controller
    25     else if ((existingViewController != newViewController) && newViewController) {
    26         [newViewController willMoveToParentViewController:self];
    27         [existingViewController willMoveToParentViewController:nil];
    28         [existingViewController beginAppearanceTransition:NO animated:NO];
    29         [existingViewController.view removeFromSuperview];
    30         [existingViewController removeFromParentViewController];
    31         [existingViewController didMoveToParentViewController:nil];
    32         [existingViewController endAppearanceTransition];
    33         [newViewController beginAppearanceTransition:YES animated:NO];
    34         newViewController.view.frame = containerView.bounds;
    35         [self addChildViewController:newViewController];
    36         [containerView addSubview:newViewController.view];
    37         [newViewController didMoveToParentViewController:self];
    38         [newViewController endAppearanceTransition];
    39         if (completion) completion();
    40     }
    41 }
  • 相关阅读:
    网站设计的65条原则
    汇编指令: VERW、WAIT、WBINVD、WRSHR、WRMSR、XADD、XBTS、XCHG、
    openssl编程入门(含完整可编译和运行示例)
    揭开Linux的Swap之谜
    成功的 Web 应用系统性能测试
    加密通讯协议SSL编程周立发
    Google Sparse Hash
    测试 Linux 的可靠性
    进程绑定CPU简单应用
    mylarge&mymedium&mysmall&myinnodbheavy4G
  • 原文地址:https://www.cnblogs.com/liyufeng2013/p/4022330.html
Copyright © 2011-2022 走看看