ios 下自定义导航栏的BarButtonItem 会产生一些偏移问题,
解决方案: 通过新建一个系统的带固定距离的Item来调节你的Item
#define IOS7_NAVI_SPACE -10
}
[self.navigationItem setLeftBarButtonItems:[self getBackBarButtonitem]];
} //返回按钮
-(NSArray *)getBackBarButtonitem{
//自定义button
UIButton *button=[[UIButton alloc] initWithFrame:CGRectMake(, , , )];
//设置背景图片
[button setBackgroundImage:[UIImage imageNamed:@"nav_left_btn_unselected.png"] forState:UIControlStateNormal];
//设置文字
[button setTitle:@"返回" forState:UIControlStateNormal];
button.titleLabel.font=[UIFont systemFontOfSize:];
//设置文字颜色
[button setTintColor:[UIColor whiteColor]];
//为TouchUpInside添加行为
[button addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside];
//初始化一个BarbuttonItem
UIBarButtonItem *Item=[[UIBarButtonItem alloc] initWithCustomView:button];
//在初始化一个系统的带有固定距离的占位的BarButtonItem 占位用
UIBarButtonItem *fixedSpace=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:self action:nil];
fixedSpace.width=IOS7_NAVI_SPACE;//设置宽度
// 把带固定距离的Item放在前面,调整距离
return [[NSArray alloc] initWithObjects:fixedSpace,Item, nil];
}