You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
手动收起是指,如果在某界面收到需要收起popView的事件,该界面又无法直接获取到popView,这时收起popView的功能就很复杂了。比如在子模块将popView弹到window上,首页收到了推送通知将跳转至另一模块,在首页只能遍历window上的子view,判断是否是popView,然后再调用tf_hide。多个子模块都可能弹不同的自定义弹框,这时首页就要写很多 if 来判断是不是要找的popView。
这个问题,最好是能直接调个框架类方法能一次性收起所有弹框,但是想了想似乎不好实现。看了下MBProgressHUD(旧版)的收起逻辑,它是指定收起哪个界面上的hud,而且它的hud都是MBProgressHUD类型,可以很好的判断。TFPopup并没有自定义遮罩View,遮罩和popView是平级的加在inView上,TFPopup无法判断inView上是否有弹框,也无法找到弹框,所以目前的实现方式好像是做不到统一收起弹框了。
The text was updated successfully, but these errors were encountered:
在框架中,inView(父界面)被强引用,而popView又加在inView上的,这可能导致循环引用问题。
手动收起是指,如果在某界面收到需要收起popView的事件,该界面又无法直接获取到popView,这时收起popView的功能就很复杂了。比如在子模块将popView弹到window上,首页收到了推送通知将跳转至另一模块,在首页只能遍历window上的子view,判断是否是popView,然后再调用tf_hide。多个子模块都可能弹不同的自定义弹框,这时首页就要写很多 if 来判断是不是要找的popView。
这个问题,最好是能直接调个框架类方法能一次性收起所有弹框,但是想了想似乎不好实现。看了下MBProgressHUD(旧版)的收起逻辑,它是指定收起哪个界面上的hud,而且它的hud都是MBProgressHUD类型,可以很好的判断。TFPopup并没有自定义遮罩View,遮罩和popView是平级的加在inView上,TFPopup无法判断inView上是否有弹框,也无法找到弹框,所以目前的实现方式好像是做不到统一收起弹框了。
The text was updated successfully, but these errors were encountered: