Skip to content

@MoLice MoLice released this Apr 25, 2018 · 183 commits to master since this release

新增功能

  1. 增加 OverrideImplementationExtendImplementation 系列宏用于便捷地修改给定 class 的方法实现,不需要再新建一个分类了,同时 QMUI Code Snippets 也搭配了对应的代码片段。
  2. 增加 UIBarItem (QMUI) 分类,提供 qmui_view 属性用于获取 UIBarButtonItemUITabBarItem 内部的 view。
  3. NSString (QMUI) 增加 qmui_toArrayqmui_toTrimmedArray 方法将字符串按一个一个字符拆成数组(类似 JavaScript 里的 split)。
  4. NSArray (QMUI) 增加 qmui_filterWithBlock: 用于过滤数组 item。
  5. 增加 NSPointerArray (QMUI),支持获取 pointer 的 index,以及判断是否已经有存在 pointer。
  6. UIButton (QMUI) 增加 qmui_hasCustomizedButtonPropForState 系列方法用于判断是否设置过 button 在某些 state 下的 property。
  7. QMUIOrderredDictionary 增加泛型的声明,相当于对 #290 提供简单的优化。
  8. QMUIAlbumViewController 新增 pickLastAlbumGroupDirectlyIfCan 方法可以在打开相册选图控件时自动进入上一次选图的相簿。

会带来 QMUI 新旧版本兼容问题的更新

  1. 重构 QMUINavigationButton,将原本用于快速创建一个 UIBarButtonItem 对象的系列类方法重命名,具体请看下方的 如何适配新版
  2. QMUITableViewCellPosition 类型从 ENUM 改为 OPTIONS,因为以前对于每个 section 的第一个(或最后一个) cell 都要同时判断是否为 QMUITableViewCellPositionFirstInSection(或 QMUITableViewCellPositionLastInSection) 和 QMUITableViewCellPositionSingleInSection,现在只需要用 position & QMUITableViewCellPositionFirstInSection == QMUITableViewCellPositionFirstInSection 即可。
  3. 整理了大量的相册控件代码,会有相关的方法重命名、增删等,具体请看下文的 如何适配新版

如何适配新版

  1. 检查全局对 QMUITableViewCellPosition 的使用,将其按照 OPTIONS 来使用。
  2. 全局搜索 QMUINavigationButton barButtonItemWithXxx 系列方法,将其改为新的 UIBarButtonItem (QMUINavigationButton) 提供的对应方法。在 QMUI Code Snippets 里为新接口提供了新的代码片段,请查看具体的更新内容。
  3. QMUIAsset 这个版本修改了 isEqual: 方法,只要是 identifier 相同的 asset 都认为是同一个 asset,因此如果业务里原本有自己用 NSArrayNSDictionary 存放 asset 的操作,请检查是否需要修改业务代码。
  4. 全局搜索 QMUIAssetassetIdentity 方法,将其重命名为 identifier 属性。
  5. 全局搜索并删除对 QMUIImagePickerHelperimageAssetArray:containsImageAsset:imageAssetArray:removeImageAsset: 方法的使用。
  6. 全局搜索 QMUIImagePickerViewControllerDelegateimagePickerViewControllerWillFinishLoading: 方法,将其重命名为 imagePickerViewControllerDidFinishLoading:
  7. 全局搜索 QMUIZoomImageViewDelegatecontentInsetsForVideoToolbar: 方法并删除它,不支持通过 delegate 来修改 contentInset 了,请改为用 QMUIZoomImageView.videoToolbarMargins 属性。
  8. 全局搜索 QMUIZoomImageViewVideoToolbarcontentInsets,将其重命名为 paddings

Bugfix

  1. #309 修复系统在 iOS 11 下,opaque 的 tabBar 在某些情况下会高度塌陷 bug。
  2. #265 #305 修复 QMUIMultipleDelegates 与某些系统的类配合使用时,会导致某些 delegate 方法不会被调用的 bug。
  3. 修复 QMUIMultipleDelegates 原本提供的移除 delegate 的方法不生效的问题。
  4. #279 修复 iOS 11 自定义返回按钮在手势返回过程中被截断的 bug。
  5. #302 修复系统在 iOS 10 及以下,手势返回过程中设置 navigationItem 会导致顶部按钮混乱并影响后续所有界面按钮的 bug。
  6. #306 修复 QMUIImagePickerViewController 里选中某个图片后返回到相簿列表再重新进去,点开那张图进入大图预览界面,右上角的 checkbox 选中状态错误的 bug。
  7. 修复 QMUIImagePickerViewController 图片模糊的 bug。

其他修改

  1. 优化选图控件对 tintColor 的支持,并适配 iPhone X 下的布局。
Assets 2
You can’t perform that action at this time.