您的位置:首页 > 移动开发 > IOS开发

解决 ios7.0 以后自定义导航栏左边按钮靠右的问题

2016-04-27 17:17 501 查看

解决 ios7.0 以后自定义导航栏左边按钮靠右的问题

www.111cn.net 编辑:edit02_lz 来源:转载

最近开发了一个ios的app,在ios7.0+出现自定义导航栏左边按钮出现靠右的情况,后来自己解决了,解决办法如下

1.自定义按钮

代码如下复制代码
//左按钮
UIButton *leftBtn = [[UIButton alloc]initWithFrame:RectWithPara(-20, 0, 44, 44)];
[leftBtn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];//设置按钮点击事件
[leftBtn setBackgroundImage:ImageNamed(@"ic_fanhui_normal.png") forState:UIControlStateNormal ];//设置按钮正常状态图片
[leftBtn setBackgroundImage:ImageNamed(@"ic_fanhui_pressed.png") forState:UIControlStateSelected];//设置按钮选中图片
2.初始化UIBarButtonItem

代码如下复制代码
UIBarButtonItem *leftBarButon = [[UIBarButtonItem alloc]initWithCustomView:leftBtn];
3.调整位置以及设置导航栏的左边图标

代码如下复制代码
// 调整 leftBarButtonItem 在 iOS7 下面的位置

if(([[[UIDevice currentDevice] systemVersion] floatValue]>=7.0?20:0))

{
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
negativeSpacer.width = -20;//这个数值可以根据情况自由变化
self.navigationItem.leftBarButtonItems = @[negativeSpacer, leftBarButon];
}else

self.navigationItem.leftBarButtonItem = leftBarButon;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: