iOS 发现导航条上按钮的一个bug
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相关推荐
- (0027)iOS 开发之调整导航条上BarButtonItem与屏幕边界的间距
我们发现,在设置navigationItem的leftBarButtonItem或rightBarButtonItem时,用CustomView初始化UIBarButtonItem,不论怎么设置Cus ...
- IOS设置导航栏返回按钮,并添加事件返回主页面
IOS设置导航栏返回按钮,并添加事件返回主页面 前提是已经push了一个viewController了.才能使用. XXXTableViewController 里面书写 - (void)viewDi ...
- IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例
IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...
- 去掉主页 breadcrumb导航条上的Liferay字样
需求: 我们公司需要从breadcrumb上去掉最前面的那个Liferay,如图: 我们想只保留"Welcome",而去掉前面的"Liferay" 问题分析: ...
- UIButton设置图片 在导航条上的 不显示
2019独角兽企业重金招聘Python工程师标准>>> 其实也不是不现实,只是显示的颜色和导航条的颜色完全一致,看起来好像没有显示,但其实点击那个区域是有效果的,此时只需设置一下导航 ...
- ios 自己创建的动态frameworks 怎么发布_苹果 iOS 14 修复 2 年来的一个bug 果粉炸锅:原来不是自己手残...
(给iOS大全加星标,关注iOS动态) 转自:快科技 近日苹果推出了iOS 14.2.9正式版,修复了不少bug,其中有一个很小的问题从iOS 13时就困扰不少果粉了,大家当时都以为是自己手残导致输错 ...
- iOS分享短信导航条上白色,无取消按钮,无法返回应用
为什么80%的码农都做不了架构师?>>> 在使用第三方分享,分享到短信进入短信界面,不显示新信息和取消的字样,导致无法返回原应用. 如果出现此种情况,请检查你是否使用了FDFu ...
- iOS 隐藏导航条左边返回按钮
[self.navigationItem setHidesBackButton:YES];
- ios,关于“按住说话”这个按钮的一个奇葩问题
如果设置了一个导航控制器push出一个VC,在VC底部加一个这样的按钮,按钮设置touchDown触发事件.就会发现问题,在模拟器上正常,在真机上按钮的左边区域不能正常触发touchDown事件,如果 ...
最新文章
- mysql 函数rep_Mysql之各种各样的函数啦
- 聊聊jesque的几个dao
- localBlock在java_将java.util.Date转换为java.time.LocalDate
- 如何解析字符串类型的xml
- Corda服务的异步流调用
- docker cp :用于容器与主机之间的数据拷贝
- Delphi中线程类TThread实现多线程编程2---事件、临界区、Synchronize、WaitFor……
- 绿标2.0隐私权限解读——应用分类及对应权限展示(下)
- 【脑电信号】基于matlab SVM分期睡眠监测【含Matlab源码 611期】
- Chrome支持的MP4编解码器有限
- 网上书店软件需求说明书
- 红帽子企业版.Linux.5
- 适合苹果4s的微信版本_苹果:这些旧 iPhone 有重大缺陷,怕不怕?
- 将秒针声音加入JAVA,喜马拉雅联合秒针系统发布声音流广告报告 :“好声音”将不再是打扰...
- 理解RTF和RTX指标
- kindle如何设置不闪屏_疑问解答 | Kindle翻页为什么闪屏?
- java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager acti
- Java入门第一步---配置环境、安装工具(超级详细)
- NAS硬盘存储服务器维修,NAS存储服务器用NAS硬盘的原因有哪些?NAS存储硬盘该如何选择?...
- 电子采购平台解决方案:构建企业采购管理系统业务架构、应用场景