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

ios 导航栏怎么添加左右按钮,第1张

导航栏按钮的控件叫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

先看效果图:

其实实现方法非常多,我就用了一种最偷懒的方法

导航栏就用普通布局实现的,不用radiobutton,不用bootmnavigationbutton,就正常的布局:

上面加了framelayout 是为了给fragment占位

然后在activity中:

其实就是两个按钮切换时候改变文字颜色更换图标,然后切换fragment屏蔽掉中间按钮点击事件,在fragment写个透明的imagebutton,然后设置点击事件就行了,这样看起来即使切换页面点击事件不一样了,按钮没变

可以看到点击按钮d得吐司

demo地址: https://github.com/PangHaHa12138/BootmButtonDemo


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11867182.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存