0x00 自定义

导航条上的按钮,可以通过自定义视图的方式来创建
然而,有趣的事情发生了…

测试环境:
Xcode: Version 11.7 (11E801a)
真机


0x01 通过 UIButton 创建

直接上代码:

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:({UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];button.frame = CGRectMake(0, 0, 40, 25);button.layer.cornerRadius = 12.5;button.backgroundColor = [UIColor brownColor];button.titleLabel.font = [UIFont systemFontOfSize:14];[button setTitle:@"中秋" forState:0];[button setTitleColor:[UIColor whiteColor] forState:0];button;})];

效果是这样的:

5s,iOS12.4.4

Xr,iOS13.7

代码中按钮的高度设置的是 25
然而,实际效果却被改变成 29
这特么的,蛋疼Q_Q


0x02 通过 UIControl 创建

直接上代码:

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:({UIControl *control = [[UIControl alloc] init];control.frame = CGRectMake(0, 0, 40, 25);control.layer.cornerRadius = 12.5;control.backgroundColor = [UIColor orangeColor];UILabel *label = [[UILabel alloc] init];label.frame = control.bounds;label.text = @"快乐";label.textColor = [UIColor whiteColor];label.font = [UIFont systemFontOfSize:14];label.textAlignment = NSTextAlignmentCenter;[control addSubview:label];control;})];

效果是这样的:

5s,iOS12.4.4

Xr,iOS13.7

这回算是正确了

iOS 发现导航条上按钮的一个bug相关推荐

  1. (0027)iOS 开发之调整导航条上BarButtonItem与屏幕边界的间距

    我们发现,在设置navigationItem的leftBarButtonItem或rightBarButtonItem时,用CustomView初始化UIBarButtonItem,不论怎么设置Cus ...

  2. IOS设置导航栏返回按钮,并添加事件返回主页面

    IOS设置导航栏返回按钮,并添加事件返回主页面 前提是已经push了一个viewController了.才能使用. XXXTableViewController 里面书写 - (void)viewDi ...

  3. IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例

    IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...

  4. 去掉主页 breadcrumb导航条上的Liferay字样

    需求: 我们公司需要从breadcrumb上去掉最前面的那个Liferay,如图: 我们想只保留"Welcome",而去掉前面的"Liferay" 问题分析: ...

  5. UIButton设置图片 在导航条上的 不显示

    2019独角兽企业重金招聘Python工程师标准>>> 其实也不是不现实,只是显示的颜色和导航条的颜色完全一致,看起来好像没有显示,但其实点击那个区域是有效果的,此时只需设置一下导航 ...

  6. ios 自己创建的动态frameworks 怎么发布_苹果 iOS 14 修复 2 年来的一个bug 果粉炸锅:原来不是自己手残...

    (给iOS大全加星标,关注iOS动态) 转自:快科技 近日苹果推出了iOS 14.2.9正式版,修复了不少bug,其中有一个很小的问题从iOS 13时就困扰不少果粉了,大家当时都以为是自己手残导致输错 ...

  7. iOS分享短信导航条上白色,无取消按钮,无法返回应用

    为什么80%的码农都做不了架构师?>>>    在使用第三方分享,分享到短信进入短信界面,不显示新信息和取消的字样,导致无法返回原应用. 如果出现此种情况,请检查你是否使用了FDFu ...

  8. iOS 隐藏导航条左边返回按钮

    [self.navigationItem setHidesBackButton:YES];

  9. ios,关于“按住说话”这个按钮的一个奇葩问题

    如果设置了一个导航控制器push出一个VC,在VC底部加一个这样的按钮,按钮设置touchDown触发事件.就会发现问题,在模拟器上正常,在真机上按钮的左边区域不能正常触发touchDown事件,如果 ...

最新文章

  1. mysql 函数rep_Mysql之各种各样的函数啦
  2. 聊聊jesque的几个dao
  3. localBlock在java_将java.util.Date转换为java.time.LocalDate
  4. 如何解析字符串类型的xml
  5. Corda服务的异步流调用
  6. docker cp :用于容器与主机之间的数据拷贝
  7. Delphi中线程类TThread实现多线程编程2---事件、临界区、Synchronize、WaitFor……
  8. 绿标2.0隐私权限解读——应用分类及对应权限展示(下)
  9. 【脑电信号】基于matlab SVM分期睡眠监测【含Matlab源码 611期】
  10. Chrome支持的MP4编解码器有限
  11. 网上书店软件需求说明书
  12. 红帽子企业版.Linux.5
  13. 适合苹果4s的微信版本_苹果:这些旧 iPhone 有重大缺陷,怕不怕?
  14. 将秒针声音加入JAVA,喜马拉雅联合秒针系统发布声音流广告报告 :“好声音”将不再是打扰...
  15. 理解RTF和RTX指标
  16. kindle如何设置不闪屏_疑问解答 | Kindle翻页为什么闪屏?
  17. java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager acti
  18. Java入门第一步---配置环境、安装工具(超级详细)
  19. NAS硬盘存储服务器维修,NAS存储服务器用NAS硬盘的原因有哪些?NAS存储硬盘该如何选择?...
  20. 电子采购平台解决方案:构建企业采购管理系统业务架构、应用场景

热门文章

  1. 阿里云ECS建站超详细全套完整图文教程
  2. 啊哈C语言 第3章 较量才刚刚开始(第9-15讲)
  3. 标题:一对网络恋人在洞房中的经典搞笑对白不笑你打俺
  4. 10.7 抽象类最佳实践-模板设计模式
  5. P52-函数-值传递
  6. 什么样的大学女生值得娶回家
  7. 关于“文件或目录损坏且无法读取” 的 CHKDSK 修复方法
  8. 简易聊天室(未完善版)
  9. ROS教程四——编写Publisher和Subscriber节点(C++篇)
  10. 皇御贵金属:贵金属行情分析软件应具备哪些特征