码迷,mamicode.com
首页 > 其他好文 > 详细

UINavigationController

时间:2014-09-05 03:24:11      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:界面间传值

firstViewController  * firstVC = [[firstViewController alloc]init];
    NViewController * RootController = [[NViewController alloc]initWithRootViewController:firstVC];

  //  RootViewController * RootController = [[RootViewController alloc]initWithRootViewController:firstVC];
    [firstVC release];
    
    //导航控制器指定为window的控制器.
    self.window.rootViewController = RootController;
    
    
    [RootController release];



//当由前一个界面push到后一个界面时,比如A push 到 B
/// A(viewWillDisapper) -- > B (viewWillApper) --> A (viewDidDisapper) -->B(viewDidApper)
//后一个界面pop回前一个界面时
// B(viewWillDisapper) -- > A (viewWillApper) --> B (viewDidDisapper) -->A(viewDidApper)
//和视图相关的四个方法
//当视图控制器的view将要出现时触发
- (void)viewWillAppear:(BOOL)animated
{
    NSLog(@"%s",__FUNCTION__);
    [super viewWillAppear:YES];
}
//当视图控制器的view已经出现时触发
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:YES];
    NSLog(@"%s",__FUNCTION__);
}
//当视图控制器的view将要消失时触发
 - (void)viewWillDisappear:(BOOL)animated
{
    
    [super viewWillDisappear:YES];
    NSLog(@"%s",__FUNCTION__);
}
//当视图控制器的view已经消失时触发
- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:YES];
    NSLog(@"%s",__FUNCTION__);
}


 //1.修改navigetionBar 的颜色
    self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];

    //2.关闭navigationBar 的毛玻璃效果.
   // self.navigationController.navigationBar.translucent = noErr;

    //3.将navigationBar 隐藏掉
   // self.navigationController.navigationBarHidden = YES;
    //4.设置图片
    
    // 不同尺寸的图片的效果不同
    //320 * 44 只会给navigationBer 附上图片
    
  //  [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"32044"] forBarMetrics:UIBarMetricsDefault];
    
    //高度小于44 ,以及高度 大于 44 小于64 : 会平铺navigationBar以及状态条
    
  //   [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"32050"] forBarMetrics:UIBarMetricsDefault];
    
    //高度等于64: 整个图片在navigation以及在状态条上显示
   //  [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"32064"] forBarMetrics:UIBarMetricsDefault];
    
    //注意以上四点都是对navigationBar直接配置,所以该操作对每一个界面navigationBar上消失的内容都会有影响.(效果都是一样的)
    
    
    //为每一个界面的navigationBar上显示的内容单独定制(每一个界面内容不一样)
    
    //单独定制修改视图控制器的navigationItem
    
    
    //设置界面的title
  //  self.navigationItem.title = @"好友";
    
    //修改title(中间显示的视图)
    UISegmentedControl *segmented = [[UISegmentedControl alloc]initWithItems:@[@"分组",@"全部"]];
    
    
    self.navigationItem.titleView = segmented;
    
    [segmented release];
    
    
    //配置navigationBar右边显示的内容
    UIBarButtonItem * btn = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(add:)];
    self.navigationItem.rightBarButtonItem = btn;
    [btn release];


 //界面间传值:将前一个界面 的值传到后一个界面 (从前往后传)
    // 方法:采用属性传值
    // 步骤:1.后一个界面定义属性.接收传入的值.(属性的类型和值的类型相同)
    
    //2.取出输入框的文字
    UITextField * tf = (UITextField *)[self.view viewWithTag:100];
    secondViewController * second = [[secondViewController alloc]init];
    
    
    //将要传递的数据存入仓库(单例)中
    
  //  [Singleton shardSingleton].text = tf.text;
    
    
  //  second.text = tf.text;
    
    second.delegate = self;
    
    
    
    //QCtext
    ((NViewController *)self.navigationController).text = tf.text;
    [self.navigationController pushViewController:second animated:NO];
    [second release];

UINavigationController

标签:界面间传值

原文地址:http://qccccc.blog.51cto.com/6004423/1548899

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!