zoukankan      html  css  js  c++  java
  • UIBarbuttonItem

    APPDelegate:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

        self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

        //创建主界面,导航栏的第一个页面

        FirstViewController *fvc = [[FirstViewController alloc]init];

        

        //创建一个导航栏控制器

        UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:fvc];

        nav.navigationBar.barTintColor = [UIColor redColor];

        self.window.rootViewController = nav;//设置根控制器

        [self.window makeKeyAndVisible];

        return YES;

    }

    //给导航栏添加左右按钮

        UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]initWithTitle:@"cancel" style:UIBarButtonItemStyleDone target:nil action:nil];

        self.navigationItem.leftBarButtonItem = cancelButton;

        self.navigationItem.leftBarButtonItem.tintColor = [UIColor whiteColor];

        

        UIBarButtonItem *nextButton = [[UIBarButtonItem alloc]initWithTitle:@"next" style:UIBarButtonItemStyleDone target:self action:@selector(goToSecond)];

        self.navigationItem.rightBarButtonItem = nextButton ;

        self.navigationItem.rightBarButtonItem.tintColor = [UIColor whiteColor];

        

        UILabel *yLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 44)];

        yLabel.backgroundColor = [UIColor yellowColor];

        yLabel.text = @"新浪";

        yLabel.font = [UIFont systemFontOfSize:22];

        yLabel.textColor = [UIColor redColor];

        yLabel.textAlignment = NSTextAlignmentCenter;

        self.navigationItem.titleView = yLabel;

    -(void)goToSecond{

        //创建即将显示的界面

        SecondViewController *svc = [[SecondViewController alloc]init];

        //使用导航栏控制器切换页面

    //    [self.navigationController presentViewController:svc animated:YES completion:nil];

        //push入栈 将当前的界面入栈,这个界面消失,将新的界面推送出来

        //pop 将当前的界面消失,从栈上最上面的界面(最后一个界面)出栈

        //设置默认提供的返回按钮的标题

        UIBarButtonItem *backItem = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:nil action:nil];

        self.navigationItem.backBarButtonItem = backItem;  

        [self.navigationController showViewController:svc sender:self];

    }

    -(void)viewWillAppear:(BOOL)animated{

        [super viewWillAppear:animated];

        //显示工具栏

        self.navigationController.toolbarHidden = NO;

        self.navigationController.toolbar.barTintColor = [UIColor greenColor];

        //默认工具栏高44,导航栏高44

        //可以隐藏导航栏

    //    self.navigationController.navigationBarHidden = YES;

    }

     SecondViewController类.m

    -(void)viewDidLoad{

        [super viewDidLoad];

        UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

        [btn setTitle:@"back" forState:UIControlStateNormal];

        btn.frame = CGRectMake(100, 200, 120, 50);

        [btn addTarget:self action:@selector(goback) forControlEvents:UIControlEventTouchUpInside];

        btn.tintColor = [UIColor whiteColor];

        [self.view addSubview:btn];

    }

    -(void)goback{

         //present 在现有的界面上盖上一层,dismissViewController删除

        //如果之前使用 的push 那么用pop

        [self.navigationController popViewControllerAnimated:YES];

        [self dismissViewControllerAnimated:YES completion:nil];

    }

    拓:navigationbar 上加多个button:

    UIView *rightBarView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 60, 31)];
        
        UIButton *phonebutton = [UIButton buttonWithType:UIButtonTypeCustom];
        phonebutton.frame=CGRectMake(0, 5, 25, 25);
        [phonebutton setImage:[UIImage imageNamed:@"phone.png"] forState:UIControlStateNormal];
        [phonebutton addTarget:self action:@selector(phoneclick)forControlEvents:UIControlEventTouchDown];
        [rightBarView addSubview:phonebutton];
        
        UIButton *mapbutton = [UIButton buttonWithType:UIButtonTypeCustom];
        [mapbutton setFrame:CGRectMake(30, 5, 25, 25)];
        [mapbutton setImage:[UIImage imageNamed:@"c_address.png"] forState:UIControlStateNormal];
        [mapbutton addTarget:self action:@selector(mapclick)forControlEvents:UIControlEventTouchDown];
        [rightBarView addSubview:phonebutton];
        [rightBarView addSubview:mapbutton];
        rightBarView.backgroundColor=[UIColor clearColor];
        
        UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc]initWithCustomView:rightBarView];
        self.navigationItem.rightBarButtonItem = rightBtn;

     更简便的方法:

  • 相关阅读:
    Hibernate多对一ManytoOne
    eclipse中配置MAVEN并使用阿里云代理
    火车采集器 帝国CMS7.2免登录发布模块
    JavaScript数据类型
    JavaScript 命名规则
    帝国cms 无法生成静态页
    帝国cms 页面统计
    PHP类型转换
    Excel小写金额转大写金额公式
    新时期大站协议脚本邮件群发软件 怎么样
  • 原文地址:https://www.cnblogs.com/yangqinglong/p/5363708.html
Copyright © 2011-2022 走看看