addChildViewController的一个简单跳转展示子控制器

使用addChildViewController可以有效节约内存,且可以方便的展示自己想展示的子控制器;下面是用swift一个简单实现跳转的过程。

class first: UIViewController {

//two,three,four分别为三个控制器

var two: Two?

var three: Three?

var four: Three?

//child测试

var addChildVCclick: UIButton?

var currentC: UIViewController?

override func viewDidLoad() {

super.viewDidLoad()

self.view.backgroundColor = UIColor.blueColor()

self.setupSubview()

}

func setupSubview() {

addChildVCclick = UIButton()

self.view.addSubview(addChildVCclick!)

addChildVCclick?.frame = CGRectMake(200, 100, 20, 20)

addChildVCclick?.backgroundColor = UIColor.greenColor()

addChildVCclick?.userInteractionEnabled = true

addChildVCclick?.addTarget(self, action: "addChild", forControlEvents: .TouchDown)

}

//点击按钮实现子控制器的添加

func addChild(){

print("add child")

two = Two()

self.addChildViewController(two!)

three = Three()

self.addChildViewController(three!)

four = Three()

four!.view.backgroundColor = UIColor.brownColor()

self.addChildViewController(four!)

//只有将子控制器的view添加,才会展示出子控制器

self.view.addSubview(four!.view)

if let f = four {

//在第四个控制器中添加按钮,点击实现子控制器切换

addChildVCclick?.frame = CGRectMake(200, 120, 20, 20)

addChildVCclick?.backgroundColor = UIColor.blueColor()

addChildVCclick?.userInteractionEnabled = true

addChildVCclick?.addTarget(self, action: "changeViewController", forControlEvents: .TouchDown)

f.view.addSubview(addChildVCclick!)

currentC = f  //必须设置currenC(全局属性)

}

}

func changeViewController() {

print("changeViewController")

two?.view.backgroundColor = UIColor.redColor()

self.transitionFromViewController(currentC!, toViewController: two!, duration: 1, options: .TransitionCurlUp, animations: { () -> Void in

print("animations")

}) { (com) -> Void in

print("com")

self.currentC = self.two//在这里真正实现跳转,简单方便

//跳转效果由options参数决定

}

}

}

时间: 2024-10-28 00:31:19

addChildViewController的一个简单跳转展示子控制器的相关文章

iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序

iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序 一.plist文件和项目结构图 说明:这是一个嵌套模型的示例 二.代码示例: YYcarsgroup.h文件代码: // // YYcarsgroup.h // 07-汽车展示(高级) // // Created by apple on 14-5-28. // Copyright (c) 2014年 itcase. All rights reserved. // #import <Foundation/Foundation.h> @

【ASP.NET基础】简单企业产品展示网站--产品编辑CIUD

摘要:本文记录创建一个小的.简单的产品网站的步骤. 一,搭建一个简单的产品展示网站,熟悉以下知识点:NVelocity模板引擎.Ajax无刷新页面请求,文件上传,Row_Number实现分页,ckEditor使用,Bootstrap的简单使用.[点击查看网站效果] 二,网站基本框架:新建项目ProductWeb ,并完成基本框架的搭建(SQLHelper,ckEditor,Common_Nvelocity,Bootstrap等添加到项目中).并创建ProductWebDB .[下载基本模板框架]

使用skynet 的一个简单范例,附分析

之前已经介绍过, skynet 只是一个轻量框架,不是一个开箱即用的引擎 .能不能用好它,取决于使用者是否清楚知道自己要干什么,如果是用 skynet 做网络游戏服务器,那么就必须先知道网络游戏服务器应该如何设计. 在 skynet 发布版中带的 example 中,有类似 gate watchdog agent 之类的服务,它们并不是唯一的用 skynet 构建游戏服务器的模式.我想另外写一个范例,示范依旧基于 skynet 但用不同的模式构建游戏服务器的方法. 我花了两天时间写了这么一个 s

02---按钮的设置 控制器拥有导航栏包装一层导航控制器 添加子控制器 UIBarButtonItem导航按钮 设置导航栏UINavigationBar主题 设置状态栏样式

一.按钮的设置 1.设置背景图片 [btn setBackgroundImage:image forState:UIControlStateNormal]; 2.内部UIImageView 1> 设置内部UIImageView的图片 [btn setImage:image forState:UIControlStateNormal]; // 不能写成btn.imageView.image = image; 2> 调整内部图片的内容模式 self.imageView.contentMode =

IOS中一个简单的粒子效果实现

1.效果图展示 2.实现思路 1> 首先要实现上面的效果,第一步要处理的就是一个简单的画板,在View上面用鼠标滑动的时候画出线条,这个功能可使用UIBezierPath实现 2> 关于粒子效果的实现,可以创建一个CALayer,然后用CAReplicatorLayer进行复制layer,从而达到粒子效果 3.代码实现 DrawView类的封装与编写 // // DrawView.m // 06-粒子效果 // // Created by xiaomage on 15/6/24. // Cop

使用HTML写一个简单的跳转登录页面

最近在学习前端的知识,于是就想写一个简单的页面跳转,必须是勾选了"我同意"这个选项以后才能跳转,否则不能,不废话,直接上代码. 首先是第一个页面:testlogin1.html <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title> </hea

[.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(二)

一步步打造一个简单的 MVC 电商网站 - BooksStore(二) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore 前:<一步步打造一个简单的 MVC 电商网站 - BooksStore(一)> 简介 上一次我们尝试了:创建项目架构.创建域模型实体.创建单元测试.创建控制器与视图.创建分页和加入样式,而这一节我们会完成两个功能,分类导航与购物车. 主要功能与知识点如下: 分类.产品浏览.购物车.结算.CRUD(增删

使用MongoDB和JSP实现一个简单的购物车系统

1 问题描述 利用JSP编程技术实现一个简单的购物车程序,具体要求如下. (1)用JSP编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息. (2)编写一个JSP程序来获取用户提交的登录信息并查询数据库,如果用户名为本小组成员的名字且密码为对应的学号时,采用JSP内置对象的方法跳转到订购页面(显示店中商品的种类和单价等目录信息):否则采用JSP动作提示用户重新登录(注:此页面上要包含前面的登录界面). (3)当顾客填好所需商品的数量并点击提交按钮时,将前面订购的商品放

node.js基于express框架搭建一个简单的注册登录Web功能

这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注明一下版本,因为express因为版本的不同使用的方式也不同,我这算是目前最新的了吧 还没有装express的可以移步到这里 看看express框架的获取安装 1.简单地项目初始化 进入你的nodejs安装路径下边,如图,然后执行命令  express -e test  (这里把项目名设置为test