首页 > 代码库 > IOS7 自定义UIBarButtonItem 的一些问题

IOS7 自定义UIBarButtonItem 的一些问题

ios 下自定义导航栏的BarButtonItem 会产生一些偏移问题,

解决方案: 通过新建一个系统的带固定距离的Item来调节你的Item

#define   IOS7_NAVI_SPACE   -10}    [self.navigationItem setLeftBarButtonItems:[self getBackBarButtonitem]];}//返回按钮-(NSArray *)getBackBarButtonitem{    //自定义button    UIButton *button=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 55, 35)];    //设置背景图片    [button setBackgroundImage:[UIImage imageNamed:@"nav_left_btn_unselected.png"] forState:UIControlStateNormal];    //设置文字    [button setTitle:@"返回" forState:UIControlStateNormal];    button.titleLabel.font=[UIFont systemFontOfSize:13];    //设置文字颜色    [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];}

 

IOS7 自定义UIBarButtonItem 的一些问题