APP标配控制器:UINavigationController

导航控制器UINavigationController简介:

 只要看到控制器界面上部有一个条就是导航控制器UINavigationController

   导航控制器最上面有一个条是导航条高度44,Y值是20,导航条上20是状态栏;导航条内有一个子控制件,这个子控件超过了导航条,有一个透明效果,是从0位置开始的,子控件超过父控件也是能够显示的;

  导航控制器的结构:导航控制器最上面是一个导航条,导航条下面是导航控制器存放子控制器的View(栈顶控制器的View),并且有一个存放子控制器的数组childsViewControllers,最下面是导航控制器的View。

 

导航控制器UINavigationController的使用:

  初始化:在application:didFinishLaunchingWithOptions(程序加载完毕)方法中设置

    1、创建窗口:self.window =[[UIWindow alloc] initWithFrame:[UIScreen  mainScreen].bounds];

    2、设置根控制器:UIVIewController *Vc = [[UIViewController  alloc] init];

              UINavigationController *nav = [[UINavigationController  alloc] initWithRootViewController:Vc];

              self.window.rootViewController = nav;

    3、显示窗口:[self.window  makeKeyAndVisible];

  

  加载视图控制器   pushViewController:viewController animated:BOOL

  推出视图控制器   popViewController:viewController Animated:BOOL  

  推出到指定控制器   popToViewController:viewController animated:BOOL

  退到根控制器       popToRootViewController:viewController Animated:BOOL

   导航栏是否显示   setNavigationBarHidden:BOOL  animated:BOOL

 

UINavigation属性

navigationItem

  每一个加到navigationController的ViewController都会有一个对应的navigationItem,该对象是以懒加载的方式创建

  [self.nagationController.navigationBar  setTranslucent:NO];//设置navigationBar的半透明

  [self.navigationController.navigationBar  setBarTintColor:[UIColor  redColor]];//设置navigationBar的颜色

  [self.navigationController.navigationBar  setTintColor:[UIColor  yellowColor]];//设置navigationBar左右按钮的颜色

  1. self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonItemStyleDone target:self action:Nil];//设置navigationbar左边按钮  
  2.     self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonItemStylePlain target:self action:Nil];//设置navigationbar右边按钮

 

UIBarButtonItem属于MVC的M,定义了UINavigationItem上按钮的触发事件,外观等

-initWithBarButtonSystemItem:target:action:设置按钮样式及触发事件
-initWithTiltle:style:target:action: 设置标题的触发事件
-initWithImage:style:target:action:设置视图的触发事件
tintColor  设置tintColor可以影响添加在导航条上的系统样式的按钮的颜色

 

titleTextAttributes:这是navigationBar的一个属性,通过它可以设置title部分字体的属性

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

UITabbarController

 

posted @ 2016-07-15 23:13  漫天要价  阅读(163)  评论(0编辑  收藏  举报