IOS博客项目搭建-07-设置导航栏主题
博客专区 > Corwien 的博客 > 博客详情
IOS博客项目搭建-07-设置导航栏主题
Corwien 发表于2年前
IOS博客项目搭建-07-设置导航栏主题
  • 发表于 2年前
  • 阅读 36
  • 收藏 0
  • 点赞 1
  • 评论 0

标题:腾讯云 新注册用户域名抢购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;

  


      以后这种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


(二)、类方法中调用成员方法出错


处理这种错误的方式,可以将成员方法setupNavBarTheme改为类方法,即将前边的“-”号改为“+”号即可。




标签: IOS 导航栏主题
共有 人打赏支持
粉丝 22
博文 144
码字总数 115164
×
Corwien
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: