精通IOS开发第六版学习第六章---多页面应用
来源:互联网 发布:sqlalchemy 原生sql 编辑:程序博客网 时间:2024/05/20 06:39
涉及知识点
1. the root controller
它是一个当应用加载的时候用到的控制器。
这个root controller通常是UINavigationController和UITabBarController的实例或者是一个客户定制过的UIViewController的子类的实例。
2. content view
content view 是我们放置显示控件的地方。它有自己的controller。每个content view都是一个UIView或者是它的子类。
3. scene场景
在storyboard中,每个scene都有一个content view和它的controller
4. lazy loading
懒加载,在需要的时候在加载需要的内容。
小例子实现代码如下:
这个例子有点过于简单。而且依赖于storyboard。
#import "ViewController.h"#import "BlueViewController.h"#import "YellowViewController.h"@interface ViewController ()@property (nonatomic, strong) YellowViewController *yellowViewController;@property (nonatomic, strong) BlueViewController *blueViewController;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.blueViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Blue"]; [self.view insertSubview:_blueViewController.view atIndex:0];}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. if (!self.blueViewController.view.superview) { self.blueViewController = nil; }else{ self.yellowViewController = nil; }}- (IBAction)switchViews:(id)sender{ [UIView beginAnimations:@"View Flip" context:NULL]; [UIView setAnimationDuration:0.4]; [UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; if (!self.yellowViewController.view.superview) { if (!self.yellowViewController) { self.yellowViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Yellow"]; } [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES]; [self.blueViewController.view removeFromSuperview]; [self.view insertSubview:self.yellowViewController.view atIndex:0]; }else{ if (!self.blueViewController) { self.blueViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Blue"]; } [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES]; [self.yellowViewController.view removeFromSuperview]; [self.view insertSubview:self.blueViewController.view atIndex:0]; } [UIView commitAnimations]; }
0 0
- 精通IOS开发第六版学习第六章---多页面应用
- 精通IOS开发第六版学习第五章---旋转和布局
- 2011斯坦福大学iOS应用开发教程学习笔记(第六课)故事版
- 2011斯坦福大学iOS应用开发教程学习笔记(第六课)故事版
- 2011斯坦福大学iOS应用开发教程学习笔记(第六课)故事版
- 斯坦福大学iOS应用开发教程学习笔记(第六课)故事版 StoryBoard
- 2011斯坦福大学iOS应用开发教程学习笔记(第六课)故事版
- 《精通iOS开发·第六版》数据持久化基础知识之对象归档持久化
- 《精通iOS开发·第六版》数据持久化基础知识之属性列表持久化
- 《精通iOS开发·第六版》数据持久化基础知识之CoreData持久化
- 《精通iOS开发·第六版》数据持久化基础知识之SOLite3持久化
- 【ios开发学习 - 第六课】UILabel使用
- 斯坦福大学公开课 iOS应用开发教程学习笔记(第六课)多个MVC的程序和故事版、UINavigationController、 Segues
- IOS学习之斯坦福大学IOS开发课程笔记(第六课)
- IOS学习之斯坦福大学IOS开发课程笔记(第六课)
- C++ Primer Plus(第六版)--学习杂记(第六章)
- 精通Android应用开发第六篇:Toast、Notification、Alarm, Android中的通知实现
- 学习iOS的第六天
- ssh-keygen 的 详解
- 黑马程序员——Java基础---多态、内部类、异常、包
- http协议学习系列
- Fragment详解-android学习之旅(四十八)
- 黑马程序员——Java基础---面向对象
- 精通IOS开发第六版学习第六章---多页面应用
- 每天游戏设计原理笔记(二)
- 插件开发技术说明(12)---面向业务对象编程:2种风格的对比
- 黑马程序员——Java基础---GUI
- POJ1664 放苹果
- ios中对KVO、KVC的一些理解
- 手机照片误删怎么恢复?安卓手机数据恢复软件使用方法
- Sql入门--------DQL语言
- LevelDB:一个快速轻量级的key-value存储库(译)