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

时间:2023-03-09 18:19:01
解决ios7.0 以后自己定义导航栏左边button靠右的问题

1.自己定义button

//左button

UIButton *leftBtn = [[UIButton
,
, , )];

[leftBtn addTarget:self
action:@selector(btnClicked:)
forControlEvents:UIControlEventTouchUpInside];//设置button点击事件

[leftBtn setBackgroundImage:ImageNamed(@"ic_fanhui_normal.png")
forState:UIControlStateNormal ];//设置button正常状态图片

[leftBtn setBackgroundImage:ImageNamed(@"ic_fanhui_pressed.png")
forState:UIControlStateSelected];//设置button选中图片

2.初始化UIBarButtonItem

UIBarButtonItem *leftBarButon = [[UIBarButtonItem
alloc]initWithCustomView:leftBtn];

3.调整位置以及设置导航栏的左边图标

//
调整 leftBarButtonItem 在 iOS7
以下的位置

if(([[[UIDevice
currentDevice] systemVersion]
floatValue))

{

UIBarButtonItem *negativeSpacer = [[UIBarButtonItem
alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace

target:nil
action:nil];

negativeSpacer.;//这个数值能够依据情况*变化

self.navigationItem.leftBarButtonItems =
@[negativeSpacer, leftBarButon];

}else

self.navigationItem.leftBarButtonItem = leftBarButon;