第一种:

UIImage *searchimage=[UIImage imageNamed:@"search.png"];

UIBarButtonItem *barbtn=[[[UIBarButtonItem alloc] initWithImage:nil style:UIBarButtonItemStyleDone target:self action:@selector(searchprogram)] autoRelease];

barbtn.image=searchimage;

self.navigationItem.rightBarButtonItem=barbtn;

这种设置出来的item图片跟大小是固定的

其隐藏方法是:在需要隐藏的时候self.navigationItem.xxxItem = nil;

显示方法是重新alloc-init一次;

第二种: 

IButton*rightButton = [[UIButtonalloc]initWithFrame:CGRectMake(0,0,30,30)];

[rightButtonsetImage:[UIImageimageNamed:@"search.png"]forState:UIControlStateNormal];

[rightButtonaddTarget:selfaction:@selector(searchprogram)forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem*rightItem = [[UIBarButtonItemalloc]initWithCustomView:rightButton];

[rightButton release];

self.navigationItem.rightBarButtonItem= rightItem;

[rightItem release];

这种方式设计出来的item比较灵活,尤其是在 隐藏显示的时候:

隐藏方法:self.navigationItem.xxxItem.customView.hidden =YES;

显示方法,同上xxx.hidden = NO;

这种方式更合理一些,因为不需要不断的创建/消除,所以推荐用这种方法!

第三种:

UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(methodtocall:) ];

本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/p/3534315.html,如需转载请自行联系原作者

【原】自定义UINavigationItem的两种方法以及相应的隐藏方法相关推荐

  1. 使用vivado调用自定义IP的两种方法

    使用vivado调用自定义IP的两种方法 方法一:采用Creat Block Design以图形化界面方式,即原理图方式调用自定义IP,例如下图: 方法二:采用代码方式,即类似函数方式调用自定义IP, ...

  2. EntityFramework Core 2.0自定义标量函数两种方式

    前言 上一节我们讲完原始查询如何防止SQL注入问题同时并提供了几种方式.本节我们继续来讲讲EF Core 2.0中的新特性自定义标量函数. 自定义标量函数两种方式 在EF Core 2.0中我们可以将 ...

  3. iOS 自定义layer的两种方式

    在iOS中,你能看得见摸得着的东西基本都是UIView,比如一个按钮,一个标签,一个文本输入框,这些都是UIView: 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIVi ...

  4. 计算 java_两种计算Java对象大小的方法(转)

    原文:http://blog.csdn.net/iter_zc/article/details/41822719 另一篇类似文章:http://www.cnblogs.com/magialmoon/p ...

  5. 聊聊JVM(三)两种计算Java对象大小的方法

    普通对象的结构如下,按64位机器的长度计算 1. 对象头(_mark), 8个字节 2. Oop指针,如果是32G内存以下的,默认开启对象指针压缩,4个字节 3. 数据区 4.Padding(内存对齐 ...

  6. word2vec应用场景_介绍Word2Vec和Glove这两种最流行的词嵌入方法背后的直觉

    NLP 的首要问题就是寻求恰当的文本表示方法. 因为, 良好的文本表示形式, 是后续进一步处理的基础.近年来,词嵌入方法越来越流行,在各种各样的 NLP 任务中 得到了广泛的应用.简单而言,词嵌入是通 ...

  7. 服务器装系统bios设置方法,Win7需要重装系统怎么设置Bios|两种设置Bios硬盘启动的方法...

    目前Bios引导模式有Legacy+MBR(传统引导模式)和UEFI+GPT,如果设置硬盘启动的位置不对,都有可能导致系统无法启动.针对这个问题,白云一键重装系统给大家带来了两种设置Bios硬盘启动的 ...

  8. 按要求编写一个Java应用程序:(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性

    (1)定义一个类,描述一个矩形,包含有长.宽两种属性,和计算面积方法. public class Jvcs {private int Long; //长private int wide; //宽pub ...

  9. 两种找频繁项集的方法

    两种找频繁项集的方法 Apariori算法:主要通过限制候选产生发现频繁项集 使用的是频繁项集的先验原理 是一种称为逐层搜索的迭代方法,其中k项集用于搜索(k+1)项集 使用步骤: 1.扫描数据库,累 ...

最新文章

  1. linux关机告诉用户,在Linux服务器关机前向用户显示一条自定义消息
  2. 通过显微镜,人们又看到了一个活生生的但是肉眼看不到的世界。透过成千上万的点击数据,在线世界也就变得更为鲜活,更有意义了。...
  3. 利用OpenCV进行边缘检测
  4. 生僻字(通信工程版)
  5. 来吧!我教你画真正的流程图
  6. mysql workbench查询快捷_mysql workbench快捷键
  7. 找出有序数组中绝对值最小的数
  8. Dialog详解(包括进度条、PopupWindow、自定义view、自定义样式的对话框)
  9. 在Windows server 2019 Core 版本上安装SQL2016
  10. 最简单的在IntelliJ IDEA导入一个本地项目教程
  11. 离散小波变换wavedec matlab,Matlab实现小波变换
  12. 腾讯IM发送消息20001
  13. 【MFC】进度条:Progress Control控件
  14. Vue-2-计算属性、侦听器、过滤器、样式绑定
  15. 《那年那兔那些事》观后感
  16. 石油远程《机械设计》第二次在线作业
  17. 一闪一闪亮晶晶,我有一颗小星星
  18. ImageNet 1k and 22k
  19. 纷享销客数字化营销能力(三):全渠道获客
  20. 前端开发和后端开发那个更有优势?

热门文章

  1. 谈GPT-2(附大量网址)
  2. 面对千亿客服市场:曾经人工当道,如今AI为王
  3. 未来,AI可用于5G网络分析
  4. 预言丨AI之后无AI
  5. 《数学之美》第15章 矩阵运算和文本处理中的两个分类问题
  6. Nature癌症“牵线木偶”理论:科学家找到了不易误伤健康细胞的“剪刀”
  7. 2021年突破人类想象力的6大科学纪录
  8. Gartner发布2021年重要战略科技趋势
  9. 我们人类与人工智能技术究竟是怎样的关系?
  10. Facebook爆锤深度度量学习:该领域13年来并无进展!网友:沧海横流,方显英雄本色...