iOS开发之高级视图——UINavigationBar

来源:互联网 发布:php微商城源码下载 编辑:程序博客网 时间:2024/04/29 17:36

       UINavigationBar是一个导航条,通常位于屏幕顶端,通常作为多个UINavigationItem的容器,以Stack的形式来管理多个UINavigationItem,每次在导航条上只能看到一个UINavigationItem对象。   


    ViewController.m

////  ViewController.m//  UINavigationBarDemo////  Created by Apple on 16/5/26.//  Copyright © 2016年 Apple. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end// 记录当前是添加第几个UINavigationItem的计数器NSInteger count;UINavigationBar *navigationBar;@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    count = 1;    // 创建一个导航栏   navigationBar = [[UINavigationBar alloc]                     initWithFrame:CGRectMake(10, 20, self.view.frame.size.width-20, 44)];    // 把导航栏添加到视图中    [self.view addSubview:navigationBar];    // 调用push方法添加一个UINavigationItem    [self push];}-(void)push{    // 把导航栏集合添加入导航栏中,设置动画打开    [navigationBar pushNavigationItem:     [self makeNavItem] animated:YES];    count++;}-(void)pop{        count--;        // 弹出最顶层的UINavigationItem        [navigationBar popNavigationItemAnimated:YES];}- (UINavigationItem*) makeNavItem{    // 创建一个导航项    UINavigationItem *navigationItem = [[UINavigationItem alloc]                                        initWithTitle:nil];    //设置导航栏内容    navigationItem.title = [NSString stringWithFormat:                            @"第【%ld】个导航项"                            , (long)count];        if (count == 2){        // 创建一个右边按钮        UIBarButtonItem *rightButton = [[UIBarButtonItem alloc]                                        initWithBarButtonSystemItem:UIBarButtonSystemItemCancel                                        target:self                                        action:@selector(pop)];        [navigationItem setRightBarButtonItem:rightButton];    }    if (count != 3) {        // 创建一个左边按钮        UIBarButtonItem *leftButton = [[UIBarButtonItem alloc]                                       initWithBarButtonSystemItem:UIBarButtonSystemItemAdd                                       target:self                                       action:@selector(push)];               //把左右两个按钮添加入导航栏集合中        [navigationItem setLeftBarButtonItem:leftButton];            }    if (count == 3){        UIBarButtonItem *leftButton = [[UIBarButtonItem alloc]                                       initWithBarButtonSystemItem:UIBarButtonSystemItemCancel                                       target:self                                       action:@selector(pop)];        [navigationItem setLeftBarButtonItem:leftButton];    }    return navigationItem;}@end
     
     效果图如下:

  

1 0
原创粉丝点击