UINavigationController常用属性设置

来源:互联网 发布:命理探源知乎 编辑:程序博客网 时间:2024/05/17 00:03
// 1 设置导航栏标题// 方法1self.title = @"导航栏控制器";// 方法2 当有tabbarController时使用该方法,避免影响标题设置self.navigationItem.title = @"导航栏控制器标题";


// 2 设置自定义导航栏标题子视图UIImageView *titleImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 40.0, 40.0)];titleImageView.image = [UIImage imageNamed:@"image"];self.navigationItem.titleView = titleImageView;


// 3 设置导航栏控制器-右按钮// 3-1 设置单个按钮// self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"next" style:UIBarButtonItemStyleDone target:self action:@selector(nextClick:)];// 3-2 设置多个按钮UIBarButtonItem *playItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(nextClick:)];UIBarButtonItem *stopItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemStop target:self action:@selector(doneClick:)];NSArray *itemsRight = [NSArray arrayWithObjects:playItem, stopItem, nil];self.navigationItem.rightBarButtonItems = itemsRight;- (void)nextClick:(UIBarButtonItem *)barButton{    NSLog(@"你点击了 next ");}- (void)doneClick:(UIBarButtonItem *)barButton{    NSLog(@"你点击了 done ");}

// 4 设置导航栏控制器-左按钮// 4-1 设置单个按钮// self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(sureClick:)];// 3-2 设置多个按钮UIBarButtonItem *sureItem = [[UIBarButtonItem alloc] initWithTitle:@"确定" style:UIBarButtonItemStyleDone target:self action:@selector(sureClick:)];UIBarButtonItem *cancelItem = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonItemStyleDone target:self action:@selector(cancelClick:)];NSArray *itemsLeft = [NSArray arrayWithObjects:sureItem, cancelItem, nil];self.navigationItem.leftBarButtonItems = itemsLeft;- (void)sureClick:(UIBarButtonItem *)barButton{    NSLog(@"你点击了 sure ");}- (void)cancelClick:(UIBarButtonItem *)barButton{    NSLog(@"你点击了 cancel ");}


// 5 设置导航栏控制器显示样式// 样式self.navigationController.navigationBar.barStyle = UIBarStyleDefault;// 导航按钮颜色self.navigationController.navigationBar.tintColor = [UIColor greenColor];// 背景颜色self.navigationController.navigationBar.barTintColor = [UIColor yellowColor];// 背景图片[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"image"] forBarMetrics:UIBarMetricsDefault];// 背景阴影self.navigationController.navigationBar.shadowImage = [UIImage imageNamed:@"image"];// 字体标题设置(字体大小、字体颜色设置)[self.navigationController.navigationBar setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12.0],  NSForegroundColorAttributeName:[UIColor yellowColor]}];

// 6 导航栏控制器的显示,或隐藏UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(10.0, 80.0, (CGRectGetWidth(self.view.bounds) - 10.0 * 2), 30.0)];[self.view addSubview:button];button.backgroundColor = [UIColor redColor];[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];[button setTitleColor:[UIColor yellowColor] forState:UIControlStateHighlighted];[button setTitle:@"隐藏导航栏" forState:UIControlStateNormal];[button setTitle:@"显示导航栏" forState:UIControlStateSelected];[button addTarget:self action:@selector(hiddenClick:) forControlEvents:UIControlEventTouchUpInside];- (void)hiddenClick:(UIButton *)button{    button.selected = !button.selected;        if (button.selected)    {//        self.navigationController.navigationBarHidden = YES; // 方法1        [self.navigationController setNavigationBarHidden:YES animated:YES]; // 方法2 常用方法,特别是视图控制器之间跳转时避免产生黑色区域    }    else    {//        self.navigationController.navigationBarHidden = NO;        [self.navigationController setNavigationBarHidden:NO animated:YES];    }}




0 0
原创粉丝点击