子控制器 和 父控制器

1、添加子控制器很简单 分两步 一个是 view 一个是 controller

1     [self addChildViewController:tableCTR];
2     [self.view addSubview:tableCTR.view];

最后不要忘了加一行

[tableCTR didMoveToParentViewController:self];

理由:addChildViewController回调用[child willMoveToParentViewController:self] ,但是不会调用didMoveToParentViewController,所以需要显示调用。

2、删除子控制器跟添加相反

    [childViewController willMoveToParentViewController:nil];
    [childViewController.view removeFromSuperview];
    [childViewController removeFromParentViewController];
时间: 2024-08-07 21:18:25

子控制器 和 父控制器的相关文章

子控制器内如何访问父控制器中的变量

<div ng-controller="OparentController as pCtrl"> <p>直接访问父控制器的值:{{user}}</p> <div ng-controller="OchildController as cCtrl"> <p>嵌套如何访问..父控制器的值:失败:<input ng-model="pUser"/>成功:<input ng-mod

通过$broadcast或$emit在子级和父级controller之间进行值传递

1 通过$broadcast或$emit在controller之间进行值传递,不过这些controller必须是子级或者父级关系, 2 $emit只能向父级parent controller传递事件event与数据data,$broadcast只能向子级child controller传递event与data,$on用于接收event与data. 3 <script> 4 var myapp=angular.module('myapp',[]); 5 myapp.controller('Sel

[BS-20] 导航控制器和视图控制器在添加控制器的区别

导航控制器和视图控制器在添加控制器的区别 1. 因导航控制器拥有导航栈,有一个普通视图控制器都没有的数组viewControllers,加入该数组中的视图控制器默认以push的方式进入导航栈.导航控制器有个[UINavigationController alloc] initWithRootViewController:rootVC]; 的初始化方法,调用该方法相当于把rootVC加入数组viewControllers的第一个位置,作为栈底部的rootVC是不会被pop出去的,与导航控制器共生死

多控制器和导航控制器简单介绍

一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小view,控制器也是如此,用1个控制器去管理其他多个控制器 比如,用一个控制器A去管理3个控制器B.C.D.控制器A被称为控制器B.C.D的“父控制器”:控制器B.C.D的被称为控制器A的“子控制器” 为了便于管理控制器,iOS提供了2个比较特殊的控制器 UINavigationControlle

007-多控制器管理及其控制器间的数据传递

掌握 • 1.控制器以及view的多种创建方式 • 2.UINavigationController的简单使用:添加\移除子控制器 • 3.UINavigationBar内容的设置 • 4.Segue之数据传递 • 1.控制器以及view的多种创建方式 问题一:如何创建一个控制器? •控制器常见的创建方式有以下几种 1>通过storyboard创建控制器 •先加载storyboard文件(Test是storyboard的文件名) UIStoryboard *storyboard = [UISto

iOS开发UI篇—多控制器和导航控制器简单介绍

iOS开发UI篇—多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小view,控制器也是如此,用1个控制器去管理其他多个控制器 比如,用一个控制器A去管理3个控制器B.C.D.控制器A被称为控制器B.C.D的“父控制器”:控制器B.C.D的被称为控制器A的“子控制器” 为了便于管理控制器,iOS提供了2个比较特殊的控

007-多控制器管理(控制器间的数据传递)

掌握 • 1.控制器以及view的多种创建方式 • 2.UINavigationController的简单使用:添加\移除子控制器 • 3.UINavigationBar内容的设置 • 4.Segue之数据传递 • 1.控制器以及view的多种创建方式 问题一:如何创建一个控制器? •控制器常见的创建方式有以下几种 1>通过storyboard创建控制器 •先加载storyboard文件(Test是storyboard的文件名) UIStoryboard *storyboard = [UISto

iOS开发-21UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解

(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界面,也就是用户看到的界面. (2)我们需要把导航控制器加载到APP中,需要把这个导航控制器设置为window的根视图控制器(都是控制器类,可以赋值),这样就相当于加载到了window里. (3)我们要在栈中新增或者删除一个视图控制器,就需要得到导航控制器,一般在栈中得所有视图控制器都有一个self.

导航栏控制器和标签栏控制器(UINavigationController和UITabBarController)混用

很多时候,在UI设计方面同时需要使用导航控制器和标签栏控制器,这时,需要掌握如何设计结合使用这两种不同控制器.比如手机QQ,程序有三个标签栏(分别为消息.联系人.动态),同时在选择某个联系人或者会话时,会进入聊天的子页面,因此这里同时使用到了标签栏控制器和导航控制器. 我目前所知道有以下方法可实现上述的结合使用效果. 根视图是标签栏控制器,然后每页标签栏又有一个根视图控制器为导航栏控制器的标签,如下代码所示 // 消息 MessageViewController* msg = [[Message