我有一个UIViewController
,其中包含一个UITableViewHeaderFooterView
,它带有一个UIView
(SelectorDropDown),当用户单击它时,它会展开另一个UIView
(属于SelectorDropDown )。可以将其视为自定义下拉视图,如下所示:
我将可扩展视图添加到布局中的方法是,将其添加到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
视图。
有没有办法对它进行排序?
谢谢
答案 0 :(得分:0)
在vc中有一个引用,当您隐藏表时会这样做
dropDrownView?.removeFromSuperview()