设置导航条的基本内容

作者: Z了个L | 来源:发表于2016-03-07 21:56 被阅读351次
#import "OneViewController.h"
#import "TwoViewController.h"

@interface OneViewController ()

@end

@implementation OneViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    //设置标题
    //self.title = @"根控制器";
    self.navigationItem.title = @"根控制器";

    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"左侧" style:0 target:self action:@selector(BtnClick)];

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"右侧" style:0 target:self action:@selector(BtnClick)];

    // 图片的方式,系统会把图片默认渲染成蓝色,显示会有问题
    // 所以要去Assets.xcassets中配置一下该图片的渲染方式
//    UIImage *image = [UIImage imageNamed:@"navigationbar_friendsearch"];
//    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:image style:0 target:self action:@selector(BtnClick)];

    // 按钮用到图片的时候,可以不用去配置图片的渲染方式,显示不会有问题

    UIButton *btn = [[UIButton alloc] init];
    [btn setImage:[UIImage imageNamed:@"navigationbar_friendsearch"] forState:UIControlStateNormal];
    [btn setImage:[UIImage imageNamed:@"navigationbar_friendsearch_highlighted"] forState:UIControlStateHighlighted];

    //导航条上面自定义的控件必须得要有尺寸大小.
    //自适应大小
    [btn sizeToFit];
//
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btn];

    self.navigationItem.titleView = [UIButton buttonWithType:UIButtonTypeContactAdd];

}
  • 导航控制器所有子控制器以栈的形式存放
  • 导航控制器显示的是栈顶控制器的View
  • push一个控制器的时候,之前的view会从导航控制器的View中移除,但是因为对应的控制器还保存在控制器的栈里面,所以不会销毁 移除的View,pop一个控制器的时候,之前的view会从导航控制器的View中移除,因为对应的控制器没有保存在控制器的栈里面,所以会销毁 移除的View
// 当前类或者它的子类第一次使用的时候调用.
+ (void)initialize {

    // 获取整个应用程序下所有的导航条.
    //UINavigationBar *bar = [UINavigationBar appearance];

    // 获取指定类下面的导航条
    UINavigationBar *bar = [UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[self class]]];

    //设置导航条
    //设置背景(设置背影图片时, 必须得要使用)
    [bar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault];
    //设置导航条上的标题颜色
    //设置主题颜色
    //[nav.navigationBar setTintColor:[UIColor whiteColor]];
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    dict[NSForegroundColorAttributeName] = [UIColor whiteColor];
    dict[NSFontAttributeName] = [UIFont boldSystemFontOfSize:20];

    [bar setTitleTextAttributes:dict];

}

// 当前类或者它的子类第一次使用的时候调用.
+ (void)initialize {

    //获取整个应用程序下所有的导航条.
    //UINavigationBar *bar = [UINavigationBar appearance];

    //获取指定类下面的导航条
    UINavigationBar *bar = [UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[XMGNavigationController class]]];

    //设置导航条
    //设置背景(设置背影图片时, 必须得要使用)
    [bar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault];
    //设置导航条上的标题颜色

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    dict[NSForegroundColorAttributeName] = [UIColor greenColor];
    dict[NSFontAttributeName] = [UIFont boldSystemFontOfSize:20];

    [bar setTitleTextAttributes:dict];

    [bar setTintColor:[UIColor whiteColor]];


    UIBarButtonItem *barItem = [UIBarButtonItem appearance];
    NSMutableDictionary *dict2 = [NSMutableDictionary dictionary];
    dict2[NSForegroundColorAttributeName] = [UIColor blueColor];
    [barItem setTitleTextAttributes:dict2 forState:UIControlStateNormal];

    // 让“我的彩票”四个字往上偏移64,使其隐藏
//    [barItem setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -64) forBarMetrics:UIBarMetricsDefault];
}



相关文章

  • 设置导航条的基本内容

    导航控制器所有子控制器以栈的形式存放 导航控制器显示的是栈顶控制器的View push一个控制器的时候,之前的vi...

  • 导航条设置

    设置导航条title 设置导航条title样式 设置导航条背景图片 导航条样式 下面记录几种导航条按钮的创建方法:...

  • UINavgationViewController

    一. 设置全部导航条的背景 二.设置导航条上所有Item 三.设置状态栏模式 四.导航控制器不能设置左右item和...

  • UINavigationaBar 设置透明

    导航条或者导航条上的控件设置透明度是没有效果的 设置导航条背景图片(必须得要使用默认的模式UIBarMetrics...

  • 导航条相关内容

    导航条相关内容 // 设置导航条titleViewUIView*v = [[UIViewalloc] initWi...

  • navigationBar导航条和navigationItem设

    navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转

  • iOS导航样式之二

    1.设置导航条颜色 注意:在这里设置透明度是没有效果的 2.设置导航条图片 ***注意:1.图片是会被平铺的。 2...

  • Swift 自定义导航条

    NavigationView Usage 配置导航条 初始化导航控制器 控制器中导航条设置 导航条默认没有底部线条...

  • 导航条的颜色和分割线的问题

    1.导航条的颜色和时间颜色有色差 解决:设置导航条的Translucent为NO 2.去除导航条下放的分割线 添加...

  • iOS开发小技巧汇总

    1、设置导航条的颜色及title颜色 在navgationController里设置 在viewControlle...

网友评论

    本文标题:设置导航条的基本内容

    本文链接:https://www.haomeiwen.com/subject/agfzkttx.html