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 }
  • 相关阅读:
    C#中的WebBrowser控件的使用
    xshell5 可用注册码
    一次多数据源 配置问题记录
    org.springframework.data.mongodb.core.MongoTemplate]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.core.convert.support.ConversionServiceFactory.cr
    关于 <mvc:argument-resolvers> 的一次使用记录
    补码、反码、原码 ~ ^ 运算
    mysql中int、bigint、smallint 和 tinyint的区别与长度的含义【转】
    tomcat优化记录
    判读40亿数字中是否有某个数字
    LinkedList源码疑问记录
  • 原文地址:https://www.cnblogs.com/liyufeng2013/p/4022330.html
Copyright © 2011-2022 走看看