IOS博客项目搭建-07-设置导航栏主题

(一)、首页填充数据

IOS博客项目搭建-07-设置导航栏主题_第1张图片


点击表单元格,跳转到下一个控制器页面:

//
//  IWHomeViewController.m
//  ItcastWeibo
//
//  Created by apple on 14-5-5.
//  Copyright (c) 2014年 itcast. All rights reserved.
//

#import "IWHomeViewController.h"
#import "IWBadgeButton.h"

@interface IWHomeViewController ()

@end

@implementation IWHomeViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
}

#pragma mark - Table view data source
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 20;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 1.创建cell
    static NSString *ID = @"cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    if(cell == nil){
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
    }
    
    // 2.设置cell的数据
    cell.textLabel.text = @"小君";
    return cell;
}


// 跳转到下一个控制器
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 创建控制器
    UIViewController *vc = [[UIViewController alloc] init];
    vc.view.backgroundColor = [UIColor redColor];
    
    // 隐藏底部Tabbar导航栏
    vc.hidesBottomBarWhenPushed = YES;
    [self.navigationController pushViewController:vc animated:YES];
    
}
@end


未隐藏底部导航栏和已经隐藏对比:

    // 隐藏底部Tabbar导航栏
    vc.hidesBottomBarWhenPushed = YES;

IOS博客项目搭建-07-设置导航栏主题_第2张图片   IOS博客项目搭建-07-设置导航栏主题_第3张图片


      以后这种push页面操作会非常多,难道每个操作都需要写一个push方法吗?这样会很麻烦的,还有没有更好、更简洁的方法呢?

       当然有啊,这里我们自定义一个导航控制器,IWNavigationController然后继承UINavigationController,在该控制器中重写push方法,然后在对应的文件中调用该类即可。

       

//
//  IWNavigationController.m
//  ItcastWeibo
//
//  Created by kaiyi on 16-3-2.
//  Copyright (c) 2016年 itcast. All rights reserved.
//

#import "IWNavigationController.h"

@interface IWNavigationController ()

@end

@implementation IWNavigationController

// 重写Push方法
-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    // 只要push一个控制器,底部的栏就会消失
    viewController.hidesBottomBarWhenPushed = YES;
    [super pushViewController:viewController animated:animated];
    
}
@end





你可能感兴趣的:(ios,导航栏主题)