iOS11 新功能
最近在调研iOS11的新功能和API适配问题,以及对线上产品的影响,然后就写下了这篇文章。。。
我们首先来看一下iOS11的新功能~~
- 通知中心
这个通知中心变化很大,移动数据开关终于有了,然后还有录屏,长按每一个模块都可以进入到选项,这个控制中心我们可以自定义,需要在设置-控制中心-自定控制
设置。
iOS11终于支持GIF图的保存了
文件管理器,有了Files这个App,不同的应用也可以调用同样的文件。同时,用户可以为文件添加不同颜色的标签,以便于进行文件分类。而和Finder不同的是,iOS11中的Files功能要偏弱一些,并没有提供完整的目录树,也不能访问系统文件。
新增框架
ARKit 增强现实技术的一个框架
ColorSync 这个目前还是beta版,这个里面目前只有三个常量。。。不知道用来干啥
Vision 用于脸部识别、对象追踪框架
IdentityLookup 用于短信过滤的框架,可以用来开发一个app扩展来拦截系统 SMS 和 MMS 的信息
Core ML 机器学习框架
DeviceCheck 用于生成设备唯一的token,通过服务器与 Apple 服务器通讯,并为单个设备设置 2bit 的数据
FileProvider
&FileProviderUI 提供一套 Files app 的界面,可以获取到用户设备上或者云端的文件
Core NFC NFC近场通讯框架
PDFKit 用于操作PDF的框架
新增API
Drag and Drop 一个支持拖拽的框架,UITextView和UITextField原生支持拖拽,UICollectionView和UITableView的拖拽有专用的 delegate 来表示拖拽的发生和结束,可以对任意UIView的子类定义拖拽行为
Auto Fill 从 iCloud Keychain 中获取密码,可以自动填充。UITextInputTraits的textContentType中添加username和password,对的textView 或者 textField 的 contentType 进行配置,就可以在要求输入用户名密码时获取键盘上方的自动填充,帮助用户快速登录。
CIBarcodeDescriptor 在CoreImage里新增加了CIBarcodeDescriptor,以支持检测,解码和创建具有二进制内容的条形码
UIDocumentBrowserViewController 在UIKit中新增了,添加了UIDocumentBrowserViewController视图控制器,用于浏览存储在本地和iCloud的文档
UIFontMetrics UIKit中新增的一个类,一个用于创建根据当前选定的文本大小进行缩放的自定义字体的对象.
UIAccessibilityContentSizeCategoryImageAdjusting 一种用于缩放辅助功能文本大小的图像的协议
iOS11新增大标题
在 iOS11 中,iOS提供了统一的实现方法即 Large Title,我们可以很轻松地实现上述效果
1 | self.navigationController.navigationBar.prefersLargeTitles = YES; |
prefersLargeTitles
属性控制大标题是否显示largeTitleDisplayMode
属性是一个枚举,
UINavigationItemLargeTitleDisplayModeAutomatic
UINavigationItemLargeTitleDisplayModeAlways
UINavigationItemLargeTitleDisplayModeNever
用于控制显示的模式,默认显示大标题,而当屏幕向上滑动的时候标题缩小恢复到过去的小标题样式
iOS中还提供了快速加入🔍的方法,跟TableView配合,就可以自动隐藏展示。。。
只需要加入如下代码:
1 | self.navigationItem.searchController = [[UISearchController alloc] initWithSearchResultsController:nil]; |
API调整
iOS11下,苹果对相册的权限key做了调整,原来的 NSPhotoLibraryUsageDescription ,在iOS11之后,改成了NSPhotoLibraryAddUsageDescription
tableView在iOS中可能会出现一个黑框,原因是
automaticallyAdjustsScrollViewInsets
这个属性在iOS11过期了,我们需要使用UIScrollView的contentInsetAdjustmentBehavior
属性来替代它.tableView.contentInsetAdjustmentBehavior=UIScrollViewContentInsetAdjustmentNever;
关于TableView的API更新比较多,十多个,更多关于TableView的API更新请戳这里
ScrollView、TableView和CollectionView是项目中常用的控件,而且更新比较多,暂时列举这些,还有UIVIew等,大家请直接到官方文档查看
Xcode
- 添加了 GitHub 集成。
- 可以在
xcassets
里添加自定义颜色,然后在代码或者 IB 中使用这个颜色。
- 可以进行同局域网的无线部署和调试
我们可以通过command+shift+2
开启设备管理,然后并且勾上connect via network
,直到左上角出现一个互联网的图标。之后我们便可以进行无线调试了
- Xcode9 还新增了检查修改UI是否在主线程中执行,如图
我们可以看到,这里提示我们有两个地方我们在子线程修改了UI。
还有什么新功能欢迎补充哦~~~
最后更新: 2023年03月25日 22:39:55
本文链接: http://aeronxie.github.io/post/a7828452.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可,转载请注明出处!