Skip to content

循环引用和手动收起popView #14

Description

@dagundejuzi

在框架中,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上是否有弹框,也无法找到弹框,所以目前的实现方式好像是做不到统一收起弹框了。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions