iOS学习笔记-7 UINavigationController定制

UINavigationController在视图切换中起着非常重要的作用。

这里自己定制一个UINavigationController的对象,首先来了解下UINavigationController的结构组成:UINavigation bar, UINavigation view ,UINavigation toolbar........

这里先定制UINavigationBar

关键代码如下:

 //初始化的navigationController
    //Metrics指标有两种:UIBarMetricsDefault,UIBarMetricsLandscapePhone,

    UINavigationBar *naviBar = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
    [naviBar setBackgroundImage:[UIImage imageNamed:@"top_navi"] forBarMetrics:UIBarMetricsDefault];
    [naviBar setBarStyle:UIBarStyleDefault];
    
    //设置navigationItem
    UINavigationItem *naviItem = [[UINavigationItem alloc]init];
    naviItem.title = @"firstView";
    //设置UIBarButtonItem对象barButtonItem
    UIImage *imageBtn = [UIImage imageNamed:@"top_camera"];
    UIButton *AlertBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [AlertBtn setFrame:CGRectMake(0, 0, imageBtn.size.width, imageBtn.size.height)];
    [AlertBtn setTitle:@"Alert" forState:UIControlStateNormal];
    //点击AlertBtn,触发cancelAction事件
    [AlertBtn addTarget:self action:@selector(cancelAction) forControlEvents:UIControlEventTouchUpInside];
    [AlertBtn setShowsTouchWhenHighlighted:YES];
    [naviBar pushNavigationItem:naviItem animated:YES];
    UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc]initWithCustomView:AlertBtn];
    [naviItem setRightBarButtonItem:barButtonItem];
    [self.view addSubview:naviBar];


思路:

首先定制UINavigationBar,定制它的大小

然后定制UINavigationItem,包括它的主题视图titleView,rightBarButtonItem等等,并定义了UIBarButtonItem对象的触发方法。

效果如下:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值