公司最近让测iOS18下app的问题,记录分享一下
1. modalPresentationStyle = .pageSheet的情况下弹出的页面,在iOS18之前可以禁用掉拖动的手势,然后在页面内添加自己需要的手势或者监听touch事件,但是iOS18会在页面展示后把禁用掉的手势的isEnabled重新设为true。所以要解决的问题变成了如何把enabled==true的手势禁用掉,答案是实现这个gesture的代理方法,在shouldReceiveTouch方法里返回false,就可以屏蔽这个gesture
2. UITabBarController的tabBarItem选中状态问题。如果在设置完index之后设置各个子VC的tabbarItem会导致选中状态消失,需要在设置index之前设置VC的tabbarItem
3. 不算bug,不弹出软键盘情况下编辑文本的场景会变多。以往这种情况只存在于模拟器里,现在iOS18和MacOS15增加了镜像功能,这个镜像里不会弹出软键盘。一些accessory view里的编辑框贴在屏幕底部可能比较难看一些(非常无所谓的一点,但是算是iOS18探索的一部分了)。
4. iOS 18从系统获取PingFang, Helvectia, Helsinki这些字体然后用于汉字显示可能导致崩溃。公司这部分功能封装在静态库里看不到实现,据负责的同事说暂时没什么好的解决办法,只能做到防止崩溃,简体中文+特定字体的显示还是不行
这也十月份了,这个文章应该不用更新了。。吧