首页 > 代码库 > 解决ios7.0 以后自定义导航栏左边按钮靠右的问题
解决ios7.0 以后自定义导航栏左边按钮靠右的问题
1.自定义按钮
//左按钮
UIButton *leftBtn = [[UIButtonalloc]initWithFrame:RectWithPara(-20,0, 44, 44)];
[leftBtn addTarget:selfaction:@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 = [[UIBarButtonItemalloc]initWithCustomView:leftBtn];
3.调整位置以及设置导航栏的左边图标// 调整 leftBarButtonItem 在 iOS7下面的位置
if(([[[UIDevicecurrentDevice] systemVersion]floatValue]>=7.0?20:0))
{
UIBarButtonItem *negativeSpacer = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nilaction:nil];
negativeSpacer.width = -20;//这个数值可以根据情况自由变化
self.navigationItem.leftBarButtonItems =@[negativeSpacer, leftBarButon];
}else
self.navigationItem.leftBarButtonItem = leftBarButon;
解决ios7.0 以后自定义导航栏左边按钮靠右的问题