前言
本文针对KVC访问私有属性 适配进行讲解
这次iOS 13系统升级,影响范围最广的应属KVC访问修改私有属性了,直接禁止开发者获取或直接设置私有属性。而KVC的初衷是允许开发者通过Key名直接访问修改对象的属性值,为其中最典型的 UITextField 的 _placeholderLabel、UISearchBar 的 _searchField。 造成影响:在iOS 13下App闪退。
-
Client error attempting to change layout margins of a private view
: 主要举例说明的是QMUIKit的3.2.1 版本的导航栏按钮的分类问题 - UITextField的_placeholderLabel属性
- UISearchBar的_searchField 属性
UITextField的问题分析
适配iOS13 的文本输入框API,修复占位符样式失效的问题。
_placeholderLabel
iOS 13 之前的代码
// placeholderLabel私有属性访问
[textField setValue:[UIColor redColor