ios 导航栏怎么添加左右按钮

 我来答
凹凸咪
推荐于2017-09-26 · TA获得超过884个赞
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:119万
展开全部
导航栏按钮的控件叫BarButtonItem。

关于其设置:

第一种:

UIImage *searchimage=[UIImage imageNamed:@"search.png"];
UIBarButtonItem *barbtn=[[UIBarButtonItem alloc] initWithImage:nil style:UIBarButtonItemStyleDone target:self action:@selector(searchprogram)];
barbtn.image=searchimage;
self.navigationItem.rightBarButtonItem=barbtn;
这种设置出来的外观不好控制

第二种:

UIButton*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];
这种图片将填满button,大小可控

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

如何让navigationItem.rightBarButtonItem隐藏消失?
self.navigationItem.rightBarButtonItem=nil;

即可实现

参考资料:http://blog.csdn.net/zhuzhihai1988/article/details/7701998
Jorn丶Wu
2015-07-15 · TA获得超过175个赞
知道小有建树答主
回答量:194
采纳率:100%
帮助的人:73.2万
展开全部
  • UIBarButtonItem *searchBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:nil];


  • UIBarButtonItem *chooseBtn = [[UIBarButtonItem alloc] initWithTitle:@"选择" style:UIBarButtonItemStylePlain target:self action:nil];


  • self.navigationItem.leftBarButtonItem = searchBtn;


  • self.navigationItem.rightBarButtonItem = chooseBtn;


  • 先创建UIBarButtonItem,然后再添加到导航栏,导航栏有左右item,item可以自定义,也可以用系统样式;


  • UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];


  • UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithCustomView:btn];

总之要转化为UIBarButtonItem。才能加到导航条里;

如果设置图片必须用最后面的自定义类型:

把btn的背景图或直接setImage都可以

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑白猫8
2015-07-27 · 超过26用户采纳过TA的回答
知道答主
回答量:91
采纳率:100%
帮助的人:38.6万
展开全部
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"share"] style:UIBarButtonItemStyleDone target:self action:@selector(myclickRightButton)]; //创建一个右边按钮

self.navigationItem.rightBarButtonItem = rightButton;
直接上代码,左边类似,导航栏这个东西建议自定义写,不建议使用系统自带,如果你的项目不是特别复杂也可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仙贝换呆毛
推荐于2017-10-14 · TA获得超过404个赞
知道小有建树答主
回答量:602
采纳率:66%
帮助的人:318万
展开全部
左右按钮一般用来实现回到上一页,和去下一页的功能。这一般由pop,push方法完成,这个方法在UINavigationContoller中,重名字可以知道,这是个视图控制器,简而言之是个容器。管理页面间的跳转。它上面有toolbar,和navigationBar。
先看下navigationbar的构成,navigationBar中包含了这几个重要组成部分:leftBarButtonItem, rightBarButtonItem, backBarButtonItem, title。
下面是代码
UIButton* leftBtn= [UIButton buttonWithType:UIButtonTypeCustom];

[leftBtn setImage:[UIImage imageNamed:@"设置按钮"] forState:UIControlStateNormal];

leftBtn.frame = CGRectMake(0, 0, 30, 30);

UIBarButtonItem* leftBtnItem = [[UIBarButtonItem alloc]initWithCustomView:pCenter];

[leftBtn addTarget:self action:@selector(setviewinfo) forControlEvents:UIControlEventTouchUpInside];
[self.navigationItem setleftBarButtonItem:leftBtnItem];、

我做的是右边按钮,想做左边修改[self.navigationItem setleftBarButtonItem:leftBtnItem]为[self.navigationItem setRightBarButtonItem:leftBtnItem]
再点击事件里可以做一些push,pop等跳转页面操作。
button在最上面,item在button下,navigationbar在item下,是有层次关系的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式