Closed AOP-0 closed 3 years ago
请确认self是否为你设置圆角的对象
你可以运行看一下Demo
我确认了一下 alertview 调用了 setter方法:setLee_alert_cornerRadii ,设置圆角属性; 但是lee_alert_view_layoutSubviews 没调,所以没走getter方法: lee_alert_cornerRadii
我该如何复现? 我在Demo中没有复现
我也出现了这种问题,不知道是什么原因引起的, 圆角设置无效 ,猜测是框架冲突了,导入了可能有侵入性的分类?
@xslgithub 搜索一下layoutSubviews都哪里被做了交换?
取消按钮的圆角设置 倒是可以,但是头部的 跟整体的圆角设置 无效 layoutSubviews 看了一圈没发现可疑的地方,奇了怪了
对比我的Demo 有没有发现什么? 或者你将所有依赖的第三方挨个加到我demo里面看看 哪个会出问题?
你的代码可以贴一下吗 我看看
把你的demo 导入了第三方又没发现什么问题 , 在自己工程就不行, 😒
经过两个小时排查 我找到原因了 但是很奇怪的原因
我在我自定义的 UITextField 类里面 调用load方法 导致你这个圆角设置无效...
这个问题还是比较严重的, 估计使用load方法的都要遭殃
你似乎不用调用 [super load]; 删掉试试?
而且设置appearance 最好放到appdelegate的启动完成时和其他控件的appearance一起调用 更方便管理
确认是 super load导致的问题
lee_alert_cornerRadii 的getter方法中; NSValue *value = objc_getAssociatedObject(self, _cmd); value始终为nil;