Releases: Tencent/QMUI_iOS
Releases · Tencent/QMUI_iOS
1.6.1
1.6.0
关键更新
这个版本里我们重新考虑了 QMUI 的接入方式,以及全局样式配置表 QMUIConfigurationTemplate
的定位,并做出较大改动,具体如下:
- 更新 《开始使用》 文档,去掉“如何初始化”部分的内容,将其作为可选操作放到“如何使用配置表”。
QMUIConfigurationTemplate
成为可选项(以前是必须),并且使用者可按需制作多份不同风格的配置表,以实现多种样式之间的切换,具体可参考最新版的 QMUI Demo Configuration。- 将
QMUIConfiguration
重命名为QMUIConfigurationMacros
;把QMUIConfigurationManager
重命名为QMUIConfiguration
。 QMUIConfiguration
的默认值尽量以 iOS 系统默认样式为准,因为我们希望在业务项目接入了 QMUI 后,QMUI 并不会过多地修改业务项目的已有样式。
如何适配新版
使用者若从旧版更新到 1.6.0,需要做以下几步适配工作(直接使用新版的请略过这段):
- 修改
application: didFinishLaunchingWithOptions:
方法,移除原有的[QMUIConfigurationManager renderGlobalAppearances]
。 - 修改已复制到业务项目里的
QMUIConfigurationTemplate.m
文件,移除其中编译报错的代码,建议可重新从qmui/QMUIConfigurationTemplate/
目录下拷贝最新模板,再将原有模板里的值迁移到新模板内,以方便跟进后续的 QMUI 版本更新。
其他
除此之外,本次 QMUI 版本更新内容还包括:
- 修复
QMUITextView
文字发生变化时光标位置滚动不准确的 bug。 UITextView (QMUI)
增加qmui_convertNSRangeFromUITextRange
用于将 UITextPosition 转化为NSRange
。UITextView (QMUI)
增加qmui_scrollCaretVisibleAnimated:
用于将光标滚动到可视区域并且考虑textContainerInset
。- 整理几个 QMUI 控件的
initWithCoder:
方法,在里面不要设置能在 IB 里修改的属性,不然会覆盖 IB 的值。 - 修复在 storyboard 里使用
QMUICommonViewController
并为其设置 title 后,无法显示 title。 - 统一 QMUI 所有 enum 的定义方式,兼容 Swift 下的使用。
UIImage (QMUI)
增加qmui_imageWithBlendColor:
方法用户修改图片颜色。- 相册控件修复保存资源后在此期间可能其他 App 也保存了资源,则 QMUI 在获取刚刚保存的资源时结果不准确。
1.5.2
优化 QMUI 里与配置表相关的代码组织形式,将 QMUIConfigurationManager
重命名为 QMUIConfiguration
,并去掉手动调用 [QMUIConfigurationManager renderGlobalAppearance]
的要求。
注意事项
由于本次更新涉及类和接口重命名,所以更新后需要做如下修改才能编译通过:
- 去掉业务项目里的
QMUIConfigurationTemplate.m
文件开头对[QMUICMI initDefaultConfiguration]
的调用。 - 去掉业务项目
AppDelegate.m
文件内application:didFinishLaunchingWithOptions:
方法里对[QMUIConfigurationManager renderGlobalAppearances]
的调用,新版本会自动调用。
1.5.1
1.5.0
- 【重要】重新整理 QMUI iOS 的使用方式,具体请查看开始使用文档。
- 增加键盘管理组件
QMUIKeyboardManager
,提供更便捷的方式管理键盘事件,包括第三方键盘、iPad 浮动键盘以及 iPad Pro 的外接键盘等场景。 - 修复
QMUITextView
在设置了 placeholder 后再更新textView.font/textColor/textAlignment
,placeholder 的样式没有跟着更新。 - 修复
QMUICommonTableViewController setShouldShowSearchBar:
里成员变量赋值太晚导致执行过程中调用 getter 得到的值是错误的。
1.4.0
1.3.7
1.3.6
- 【重要】废弃
QMUITextView.textAttributes
属性,请使用系统的UITextView.typingAttributes
属性代替。 UIView (QMUI)
增加接口qmui_animateWithAnimated:duration:...
用于方便的在动画和飞动画的情况下执行同一段代码。NSObject (QMUI)
增加接口qmui_enumrateInstanceMethodsOfClass:usingBlock:
用于遍历指定 class 的所有实例方法。QMUISearchController
支持“最近搜索”功能。- 优化 UILabel
qmui_textAttributes
和setAttributedText:
混用时的表现。 - 修复
QMUIPopupContainerView
在不同设备方向下布局错误的 bug。 QMUIQQEmotionManager
补充新版的微信表情。
完整内容请查看变更列表。
1.3.4
- 【重要】
[QMUITextViewDelegate textView:contentHeightAfterTextChanged:]
方法重命名为textView:newHeightAfterTextChanged:
,并改为仅在高度发生变化时才调用。 - 【重要】废弃配置表
QMUIConfigurationTemplate.m
里的宏NavBarTintColorHighlighted
和NavBarTintColorDisabled
。 - 【重要】废弃
QMUINavigationButtonTypeClose
。 - 修复
QMUINavigationButton
若干类方法里的tintColor
不生效的问题。 - 修复
QMUIPopupContainerView
在 iOS 8 和 iOS 9 下对屏幕旋转的兼容问题。 - 修复
IS_IPHONE
的宏对模拟器错误判断的 bug。 - 增加
QMUINavigationController (UISubclassingHooks)
,开放willShowViewController:
、didShowViewController:
两个方法用于子类重写。
完整内容请查看变更列表。