笔记

笔记

Posted on February 11th, 2014



一、利用 storyboard 完成导航
1. storyboard 中用来跳转的每一根线  都是  一个  UIStoryboardSegue 对象
1 >  自动跳转  (从  某个按钮  拖线到  下一个目的控制器)

2 >  手动跳转  (从  来源控制器  拖线到  下一个目的控制器)
*
  一定要给 segue 绑定一个唯一的 identifier
*
  如何跳转?通过来源控制器的一个方法来执行这个 UIStoryboardSegue 对象
[
self  performSegueWithIdentifier: @"login2home"  sender: nil ];

2. UIStoryboardSegue 对象
//  唯一标识
@property  ( nonatomic ,  readonly ) NSString *identifier;
//  来源控制器
@property  ( nonatomic ,  readonly )  id  sourceViewController;
//  目的控制器
@property  ( nonatomic ,  readonly )  id  destinationViewController;

3. 通过 UIStoryboardSegue 对象完成的跳转过程
1 >  初始化(创建) UIStoryboardSegue 对象

2 >  设置 UIStoryboardSegue 对象的 identifier 标识   sourceViewController 来源控制器

3 >  创建目的控制器,并且设置为 UIStoryboardSegue 对象的 destinationViewController 属性

4 >  在跳转之前,会调用一次 sourceViewController 的下面方法
//  后面的 sender 参数就是当初调用 performSegueWithIdentifier:sender: 方法传入的参数
- (
void )prepareForSegue:(UIStoryboardSegue *)segue sender:( id )sender

5 >  执行 UIStoryboardSegue 对象
[segue perform];

6 >  会将 destinationViewController 目的控制器压入栈中

二、显示本地网页
// 1. 获得 about.html 文件的 URL
NSURL *url = [[NSBundle mainBundle] URLForResource:
@"about.html"  withExtension: nil ];
// 2. 封装一个请求对象
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 3. 加载请求
[webView loadRequest:request];

三、内存警告的处理过程
1. 当控制器接收到内存警告时,会调用  didReceiveMemoryWarning  方法

2. didReceiveMemoryWarning 方法内部的默认实现
1 >  首先会检测控制器的 view 在不在屏幕上
if  ( self .view.superview ==  nil ) {  //  检测控制器的 view 在不在屏幕上
//  就会尝试销毁控制器的 view
//  即将销毁的时候,就会调用控制器的  viewWillUnload
//  销毁完毕的时候,就会调用控制器的  viewDidUnload 方法
}
  else  {
//  不销毁控制器的 view
}

3. 当需要再次使用控制器的 view 时,又会调用 loadView 方法来创建 view

4. 接着会调用一系列的生命周期方法
viewDidLoad ---> ......

5. 生命周期循环
loadView --> viewDidLoad --> ..
可见 .. -- 内存警告 --> didReceiveMemoryWarning ---> viewWillUnload --> viewDidUnload --- 再次使用 ---> loadView

四、 UITabBarController
1. 以选项卡的形式展示多个子控制器

2. 设置需要显示的子控制器
1 >  设置子控制器数组
NSArray *viewControllers;

2 >  逐个添加子控制器
//  通过这个方法添加的子控制器会自动添加到 viewControllers 数组中
- (
void )addChildViewController:(UIViewController *)childController;

3. 设置子控制器对应标签的文字和图片
*
  通过子控制器的 tabBarItem 属性设置
vc.tabBarItem.title =
  @" 最近 " ;  //  设置标题
vc.tabBarItem.image = [UIImage imageNamed:
@"tab_recent_press.png" ];  //  设置图标












 

©  chenyilong. Powered by  Postach.io

你可能感兴趣的:(笔记)