2.7.6
新增功能
QMUICommonDefines.h
增加宏StatusBarHeightConstant
、NavigationContentTopConstant
用于某些无法动态获取系统 bar 高度的场景下的布局。QMUICommonDefines.h
增加CGRectApplyAffineTransformWithAnchorPoint
用于弥补系统的CGRectApplyAffineTransform
无法考虑 anchorPoint 的缺陷。UIView (QMUI)
增加属性qmui_frameApplyTransform
用于弥补系统的[UIView setFrame:]
无法在view
本身已经被应用了transform
后继续使用的缺陷。QMUIPieProgressView
增加borderWidth
、borderInset
属性。- 对以下几个常见的布局相关的方法增加
NaN
的保护,避免 Release 模式下出现非法数值导致 crash:
5.1.- [UIView setFrame:]
5.2.- [CALayer setBounds:]
5.3.- [CALayer setPosition:]
- 对以下两个方法增加非法
NSIndexPath
的保护,避免 Release 模式下出现 crash:
6.1.- [UICollectionView scrollToItemAtIndexPath:atScrollPosition:animated:]
6.2.- [UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]
QMUIOrderedDictionary
增加系列接口支持修改数据,具体请看头文件。
会带来 QMUI 新旧版本兼容问题的更新
- 重构
QMUIPopupMenuView
组件,以协议的方式支持任意自定义的 item 类型。 - 重命名
NSObject (QMUI)
里与ivar
、property
相关的方法,支持遍历继承自父类的成员变量和属性。 - 修改
QMUIMarqueeLabel
里两端的渐隐效果,改为用 mask 实现,因此相关接口也变了。
如何适配新版
- 请检查项目里所有使用
QMUIPopupMenuView
的地方,根据 Xcode 编译错误提示进行修改。 - 请检查项目里所有使用
qmui_enumrateInstanceMethods
、qmui_enumrateIvars
的地方,按照 Xcode 编译错误提示改为新的命名。 - 搜索项目里用到
QMUIMarqueeLabel
的地方,删除对属性fadeWidth
、fadeStartColor
、fadeEndColor
的使用。
Bugfix
修复以 storyboard
使用 QMUICommonTableViewController
时对 KVO 使用不当导致的 crash。
修复 QMUIPopupMenuItem
在没设置 image
时 imageMarginRight
依然会生效的问题。
修复 QMUIMarqueeLabel
将 shouldFadeAtEdge = NO
后文字无法显示的 bug。
修复 QMUIButton
里对 imageView
使用不当导致 sizeThatFits:
返回结果可能不准确的 bug。
#387 去掉 QMUIButton
在 setHighlighted:
、setEnabled:
时使用的动画。
Fixed #380 修复 QMUIImagePreviewViewController
以 rect
方式预览后再以 fade
方式退出预览,此时再次进入预览,背景遮罩丢失的 bug。