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 }
时间: 2024-09-19 14:55:08

ios containerViewController的相关文章

分享一下自己ios开发笔记

// ********************** 判断数组元素是否为空 ********************** NSString *element = [array objectAtIndex:2]; if ((NSNull *)element == [NSNull null]) { } 今天做项目的时候就遇到,要判断数组元素是否为空,我的以下写法,都无效 if(!element) if([element length]>0) if(element== NULL) if(element

Firebase 远程配置 iOS 教程

原文:Firebase Remote Config Tutorial for iOS 作者:Todd Kerpelman 译者:kmyhy 记得发布 App 的时候吗?App 每个方面都已经做到最好了吗?你永远不需要碰别的代码了,因为在第一次提交时你就已经做到完美无缺了? 不,我不敢说. 事实是,作为一个功成名就的开发者,通常意味着对 App 没完没了地修改.有时候这种修改是为了增加功能或修复 Bug.但有时候,影响最大的更新无非是一行代码的事儿,比如调整某段文字,或者降低某个塔防游戏中能量单位

自定义视图控制器切换(iOS)

在iOS开发过程中,通常我们会使用UINavigationController,UITabbarController等苹果提供的视图控制器来切换我们的视图.在iOS5之前,如果要自定义容器视图控制器很麻烦,比如你要考虑到子视图的生命周期,当设备旋转时的情况等,好在iOS5中苹果提供了添加视图控制器(addChildViewController)等管理视图控制器的API,这样我们就能使用此API来自定义自己的视图控制器了,这篇文章只要介绍如何使用此API实现UITabbarController的基

iOS UIViewController API解读

/*UIViewController is a generic controller base class that manages a view. It has methods that are calledwhen a view appears or disappears. Subclasses can override -loadView to create their custom view hierarchy, or specify a nib name to be loadedaut

iOS开发不借助第三方控件实现侧边栏效果

最近在研究iOS程序的侧边栏,因为发现渐渐的iOS的程序也开始走侧边栏的风格了,QQ,今日头条,Path(Path算最早出现侧边栏的app了,所以也把侧边栏效果说成是Path效果),所以就研究了下. 然后发现Git Hub上有很多侧边栏的控件,这些控件效果也都挺玄的,但是我想找到不用第三方控件自己实现侧边栏呢?后来参照这篇blog,然后自己搞了下,算搞清楚了.下面详细介绍一下吧. 1. 首先我们需要在storyboard里面新建3个view controlle,这里也可以是navigation

iOS开发无第三方控件的援助达到的效果侧边栏

最近的研究iOS程序侧边栏.渐渐的发现iOS该方案还开始采取风侧边栏格该,QQ,今日头条,Path(Path运营商最早的侧边栏app该,效果说成是Path效果),所以就研究了下. 然后发现Git Hub上有非常多側边栏的控件,这些控件效果也都挺玄的.可是我想找到不用第三方控件自己实现側边栏呢?后来參照这篇blog,然后自己搞了下,算搞清楚了.以下具体介绍一下吧. 1. 首先我们须要在storyboard里面新建3个view controlle,这里也能够是navigation controlle

iOS -- SKSpriteNode类

SKSpriteNode类 继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKSpriteNode.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开发技术

使用fruitstrap实现命令行将IPA包安装到iOS设备上

Requirements Mac OS X. Tested on Snow Leopard only. You need to have a valid iPhone development certificate installed. Xcode must be installed, along with the SDK for your iOS version. Usage fruitstrap [-d] -b <app> [device_id] Optional -d flag laun

iOS -- SKScene类

SKScene类 继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKScene.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开