lixiang1994 / LEEAlert

优雅的可自定义 Alert ActionSheet
MIT License
1.3k stars 203 forks source link

圆角无效,不起作用 #130

Closed AOP-0 closed 3 years ago

AOP-0 commented 3 years ago

lee_alert_cornerRadii 的getter方法中; NSValue *value = objc_getAssociatedObject(self, _cmd); value始终为nil;

lixiang1994 commented 3 years ago

请确认self是否为你设置圆角的对象

lixiang1994 commented 3 years ago

你可以运行看一下Demo

AOP-0 commented 3 years ago

我确认了一下 alertview 调用了 setter方法:setLee_alert_cornerRadii ,设置圆角属性; 但是lee_alert_view_layoutSubviews 没调,所以没走getter方法: lee_alert_cornerRadii

lixiang1994 commented 3 years ago

我该如何复现? 我在Demo中没有复现

xslgithub commented 3 years ago

我也出现了这种问题,不知道是什么原因引起的, 圆角设置无效 ,猜测是框架冲突了,导入了可能有侵入性的分类?

lixiang1994 commented 3 years ago

@xslgithub 搜索一下layoutSubviews都哪里被做了交换?

xslgithub commented 3 years ago

取消按钮的圆角设置 倒是可以,但是头部的 跟整体的圆角设置 无效 layoutSubviews 看了一圈没发现可疑的地方,奇了怪了

lixiang1994 commented 3 years ago

对比我的Demo 有没有发现什么? 或者你将所有依赖的第三方挨个加到我demo里面看看 哪个会出问题?

lixiang1994 commented 3 years ago

你的代码可以贴一下吗 我看看

xslgithub commented 3 years ago

image

把你的demo 导入了第三方又没发现什么问题 , 在自己工程就不行, 😒

xslgithub commented 3 years ago

经过两个小时排查 我找到原因了 但是很奇怪的原因

image

我在我自定义的 UITextField 类里面 调用load方法 导致你这个圆角设置无效...

xslgithub commented 3 years ago

这个问题还是比较严重的, 估计使用load方法的都要遭殃

lixiang1994 commented 3 years ago

你似乎不用调用 [super load]; 删掉试试?

lixiang1994 commented 3 years ago

而且设置appearance 最好放到appdelegate的启动完成时和其他控件的appearance一起调用 更方便管理

xslgithub commented 3 years ago

确认是 super load导致的问题