Skip to content

2.7.6

Compare
Choose a tag to compare
@MoLice MoLice released this 29 Aug 09:46
· 321 commits to master since this release

新增功能

  1. QMUICommonDefines.h 增加宏 StatusBarHeightConstantNavigationContentTopConstant 用于某些无法动态获取系统 bar 高度的场景下的布局。
  2. QMUICommonDefines.h 增加 CGRectApplyAffineTransformWithAnchorPoint 用于弥补系统的 CGRectApplyAffineTransform 无法考虑 anchorPoint 的缺陷。
  3. UIView (QMUI) 增加属性 qmui_frameApplyTransform 用于弥补系统的 [UIView setFrame:] 无法在 view 本身已经被应用了 transform 后继续使用的缺陷。
  4. QMUIPieProgressView 增加 borderWidthborderInset 属性。
  5. 对以下几个常见的布局相关的方法增加 NaN 的保护,避免 Release 模式下出现非法数值导致 crash:
    5.1. - [UIView setFrame:]
    5.2. - [CALayer setBounds:]
    5.3. - [CALayer setPosition:]
  6. 对以下两个方法增加非法 NSIndexPath 的保护,避免 Release 模式下出现 crash:
    6.1. - [UICollectionView scrollToItemAtIndexPath:atScrollPosition:animated:]
    6.2. - [UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]
  7. QMUIOrderedDictionary 增加系列接口支持修改数据,具体请看头文件。

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

  1. 重构 QMUIPopupMenuView 组件,以协议的方式支持任意自定义的 item 类型。
  2. 重命名 NSObject (QMUI) 里与 ivarproperty 相关的方法,支持遍历继承自父类的成员变量和属性。
  3. 修改 QMUIMarqueeLabel 里两端的渐隐效果,改为用 mask 实现,因此相关接口也变了。

如何适配新版

  1. 请检查项目里所有使用 QMUIPopupMenuView 的地方,根据 Xcode 编译错误提示进行修改。
  2. 请检查项目里所有使用 qmui_enumrateInstanceMethodsqmui_enumrateIvars 的地方,按照 Xcode 编译错误提示改为新的命名。
  3. 搜索项目里用到 QMUIMarqueeLabel 的地方,删除对属性 fadeWidthfadeStartColorfadeEndColor 的使用。

Bugfix

修复以 storyboard 使用 QMUICommonTableViewController 时对 KVO 使用不当导致的 crash。
修复 QMUIPopupMenuItem 在没设置 imageimageMarginRight 依然会生效的问题。
修复 QMUIMarqueeLabelshouldFadeAtEdge = NO 后文字无法显示的 bug。
修复 QMUIButton 里对 imageView 使用不当导致 sizeThatFits: 返回结果可能不准确的 bug。
#387 去掉 QMUIButtonsetHighlighted:setEnabled: 时使用的动画。
Fixed #380 修复 QMUIImagePreviewViewControllerrect 方式预览后再以 fade 方式退出预览,此时再次进入预览,背景遮罩丢失的 bug。