zoukankan      html  css  js  c++  java
  • UIBarButtonItem 上按钮切换/隐藏的简单例子 转载

        首先我先说一下demo的背景:

        导航条右侧有个edit button, 中间是title ,左边是back button 和 add button。代码实现是:点击edit button时,back button隐藏 同时显示add button。用户点击 done button时则显示

    back button 同时隐藏add button。

        代码实现:

     1 - (void)viewDidLoad {
     2       [super viewDidLoad];
     3       self.navigationItem.rightBarButtonItem = self.editButtonItem;
     4 }

    // 点击Edit按钮设置是否显示一个可编辑视图的视图控制器

    // 用户不重写该方法时 即使self.navigationItem.rightBarButtonItem = self.editButtonItem了,Edit也无法触发编辑状态

    // 用户重新写该方法时,点击Edit按钮 editing为YES 触发编辑状态 而animated始终为YES 在编写时必须调用父类方法。用户点击Done按钮 editing为No 退出编辑状态

     5 - (void)setEditing:(BOOL)editing animated:(BOOL)animated {
     6     [super setEditing:editing animated:animated];
     7     [self.navigationItem setHidesBackButton:editing animated:YES];
     8     if (editing) {
     9             self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc]           initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self  action:@selector(insertMe)] autorelease];
    10 }else {
    11       self.navigationItem.leftBarButtonItem = nil;
    12       //self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc]  initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self  action:@selector(backButton) ] autorelease];
    13 }
    14 }

    其中 back button 是系统默认的,去掉 else 里面的注释,就可以加入其他按钮。  

  • 相关阅读:
    c语言编程之栈(链表实现)
    c语言编程之队列(链表实现)
    c语言编程之循环队列
    (转)linux下的系统调用函数到内核函数的追踪
    计算机网络
    (转)使用 /proc 文件系统来访问 Linux 内核的内容
    linux驱动之I2C
    (转)Linux 文件系统:procfs, sysfs, debugfs 用法简介
    linux编程之线性表
    linux编程之指针
  • 原文地址:https://www.cnblogs.com/zbw-fly/p/3691095.html
Copyright © 2011-2022 走看看