iOS 修改导航栏Item大小

需求背景:系统自带的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];

}
完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值