Closed zakicheung closed 3 months ago
您好,邮件已收到。
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
在我提供的最小化demo中,如果额外增加注释后的执行语句setNeedsDisplay可以解决问题,因为触发了控件的drawRect,里面对待刷新态更新为刷新态。
@IBAction func shift(_ sender: Any) {
tableA.isHidden.toggle()
tableB.isHidden.toggle()
if !tableA.isHidden {
tableA.mj_header?.setNeedsDisplay()
}
if !tableB.isHidden {
tableB.mj_header?.setNeedsDisplay()
}
}
是table放置在水平的stackview中才引发这个问题
描述bug 隐藏的tableview触发下拉刷新后,刷新控件丢失了,再也无法刷新。
必现/偶发? 必现
怎么样重现这个bug 1、假定app tabbarctrl 存在2个tab 2、tab1 的root 是由多个tableview组成,当其中1个显示时,其他为隐藏状态 3、来到tab2,触发了某个动作(如账户信息变化),通知tab1的所有tableview下拉刷新 4、回到tab1,当前显示的tableview会下拉刷新,切换到其他隐藏tableview,则无法下拉刷新。
TestMJ.zip
https://github.com/user-attachments/assets/ba35a3c9-53c5-46b9-a0d0-f7bcb91d6c59