iOS 14 新API
Control Appearance update
控件外观更新,比如UISlider、 UIProgressView、UIActivityIndicatorView,长得稍微有点不一样,不影响适配。
UIPageControl样式改变并且可以自定义icon
自定义小心心icon和书签icon
Color Picker
新增颜色选择器UIColorPickerViewController
支持取色器 收藏常用颜色等等
可以配置是否支持调整透明度等等,具体配置项目参考api文档
建议Present弹出
Date Picker
UIDatePicker更新UI
两种样式
支持农历
Menus
貌似可以替代我们常有的角标弹窗列表按钮需求
基于UIButton
和UIBarButtonItem
的新增的menu
属性,可以配置长按或者单击(配置 button.showsMenuAsPrimaryAction = true
)弹出菜单列表
UINavigationBar 的原生返回按钮长按会弹出菜单,可以跳回导航栏栈中的任意一个页面,按钮标题为前面控制器的标题
更新弹出菜单内容,将会实时更新并自带系统动画:
updateVisibleMenu(_ block: (UIMenu) -> UIMenu)
UIActions
UIBarButtonItem 新增 fixedSpace(width:) 和 flexibleSpace方法 去调节item之间的间隔,不用像之前那样子创建一个fixedSpace类型的UIBarButtonItem去占位
UIButton新增了一个初始化方法init(type:primaryAction:) type默认为.system 标题为primaryAction.title ,图片为 primaryAction.image
WidgetKit
iOS14 重大新特性之一 支持三种宽度的widget,具体内容另外开篇再讲
让你的app支持物理键盘
Asynchronously Loading Images into Table and Collection Views
tableView和CollectionView异步加载网络图片的API
PHPicker 图片选择器
新的图片选择器,支持多选,不需要用户允许相册访问权限,可以选择图片(包括livePhoto)和视频
定位权限更新
旧的定位权限弹窗如下:
新的定位权限弹窗如下:
多了个小地图,并且小地图的左上角多了个按钮,点击选择是否允许准确定位。
若不允许的话,开发者获取的定位会变成一个±5公里的范围,并且只能持续定位最多20分钟
通过一个枚举值得知是否用户选择了模糊定位:
用户可以改变设置,是否允许app获取准确定位
开发者可以通过在info.plist
里面配置信息解释为何需要用户选择准确定位
让隐私弹窗默认选择模糊定位
UICollectionView重大更新
UICollection从数据源协议到Cell都有了新的API,开发者可以为cell添加各种“附件”,已适配复杂的列表样式,如下第二张图,另外可以在collectionView上使用类似tableView的样式,如下图
通过新的配置类,可以做成如下效果
新增一个UICollectionListViewCell,可以做出如下样式的cell
Cell的注册方式也有所改变,可以看出苹果从API层面已经进入MVVM架构模式了,注册cell需要带上对应的CellViewModel
另外也支持像UITableViewCell的侧滑操作等等,详细内容将会另外开篇讲述。
具体查看视频