iOS 11 导航栏按钮偏移问题

本文介绍了一个在iOS11及以后版本中解决导航栏左侧按钮偏移问题的方案。通过调整按钮的contentEdgeInsets和imageEdgeInsets值,使按钮在不同iOS版本下都能正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  iOS 11之前  ,导航栏偏移量是正常显示的 ,不需要修改什么, 如下: 


UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];

    leftButton.frame = CGRectMake(002727);

    [leftButton setImage:[UIImage imageNamed:@"back1.png"forState:UIControlStateNormal];

    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:leftButton];

    [leftButton addTarget:self action:@selector(backButton) forControlEvents:UIControlEventTouchUpInside];


但iOS 11 之后显示偏移严重 ,简单粗暴的方法就是 改变按钮的 contentEdgeInsets和imageEdgeInsets的值成功改变了按钮的偏移问题 

UIButton *leftBtn = [[UIButton allocinitWithFrame:CGRectMake(0,044,44)];

    leftBtn.contentEdgeInsets =UIEdgeInsetsMake(0, -30,00);

    leftBtn.imageEdgeInsets =UIEdgeInsetsMake(0, -25,00);

    [leftBtn setImage:[UIImage imageNamed:@"back1.png"]forState:UIControlStateNormal];

    [leftBtn addTarget:self action:@selector(backButton)forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *leftItem = [[UIBarButtonItem allocinitWithCustomView:leftBtn];

    self.navigationItem.leftBarButtonItems =@[leftItem];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值