UITableView标头中的自定义视图与UIViewController视图重叠

时间:2019-03-05 14:24:17

标签: swift uitableview

我有一个UIViewController,其中包含一个UITableViewHeaderFooterView,它带有一个UIView(SelectorDropDown),当用户单击它时,它会展开另一个UIView(属于SelectorDropDown )。可以将其视为自定义下拉视图,如下所示:

enter image description here

我将可扩展视图添加到布局中的方法是,将其添加到UIViewController视图中,尽管属于UITableViewHeaderFooterView内部的SelectorDropDown视图。如果我不那样做,可扩展视图将被隐藏。处理加法的函数:

func setUpDropDown(with viewController:UIViewController){

    holderViewController = viewController

    //Adding drop drown view
    holderViewController!.view.addSubview(dropDrownView)
    holderViewController!.view.bringSubviewToFront(dropDrownView)

    dropDrownView.topAnchor.constraint(equalTo: bottomAnchor).isActive = true
    dropDrownView.trailingAnchor.constraint(equalTo: trailingAnchor).isActive = true
    dropDrownView.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true
    dropDrownView.backgroundColor = .red
    //dropDrownViewHeightConstraint = dropDrownView.bottomAnchor.constraint(equalTo: holderViewController!.view.bottomAnchor)
    dropDrownViewHeightConstraint = dropDrownView.heightAnchor.constraint(equalToConstant: 0)
    NSLayoutConstraint.activate([dropDrownViewHeightConstraint])

}

但是,请问一下,当我隐藏UITableView时,可扩展视图仍然存在,因为实际上它属于UIViewController视图。

enter image description here

有没有办法对它进行排序?

谢谢

1 个答案:

答案 0 :(得分:0)

在vc中有一个引用,当您隐藏表时会这样做

dropDrownView?.removeFromSuperview()