iOS 修改导航栏Item大小

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/youyou_56/article/details/78794821

需求背景:系统自带的item 左右两边会留一点空隙,而且返回按钮一般都会带有图片,所以就比较难以控制大小,iOS11之后自带的UIBarButtonSystemItemFixedSpace失效了。之前看过这个:http://www.jb51.net/article/126369.htmd
但是没能很好解决
下面是我自己处理的方法
1.把之前返回按钮执行方法注释掉(注意只是注释执行的方法)
2.重新自定义返回按钮
-(void)setNabar{

getWeakSelf
ZTButton *leftButton = [[ZTButton alloc]initWithFrame:CGRectMake(0, 0, 100, SafeAreaTopHeight)];

leftButton.tag = 10;

// leftButton.backgroundColor = [UIColor orangeColor];
[self.navigationController.view addSubview:leftButton];

UIButton *button = [self.navigationController.view viewWithTag:10];

NSLog(@"buttonbutton %@",button);


leftButton.action = ^(ZTButton *button){
    [UserDefault setObject:@"0" forKey:@"is_pushnumfileVC"];

    NSLog(@"点击返回===");
    [ws.navigationController popViewControllerAnimated:YES];
};

}
3.把之前执行的方法放到重新自定义按钮的方法里
4.在viewWillAppear创建,在viewWillDisappear删除(必须有)
-(void)viewWillAppear:(BOOL)animated

{

[self setNabar];

}

-(void)viewWillDisappear:(BOOL)animated{

UIButton *button4 = [self.navigationController.view viewWithTag:10];
[button4 removeFromSuperview];

}
完成。

猜你喜欢

转载自blog.csdn.net/youyou_56/article/details/78794821
今日推荐