我有一个searchBar
,有两个范围标题。当我选择其中一个时,我想在UIView
中显示此类别的一些数据。
我试图做到这一点,因为简单的结论不起作用。它可以工作,但是当我看到范围标题时,数据会叠加在一起。
我知道UITableView
和reloadData()
,但我需要一个UIView
,因为我制作了一个标签云(在代码中使用标签)。
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.isNavigationBarHidden = false
self.navigationController?.navigationBar.barTintColor = UIColor.white
self.navigationController?.navigationBar.shadowImage = UIImage()
searchBar.delegate = self
checkData(data)
if index == 0 {
createTagsLabel(main: City)
view.setNeedsDisplay()
}
else {
createTagsLabel(main: Contractor)
//listTags.clearsContextBeforeDrawing
}
}
func searchBar(_ searchBar: UISearchBar, selectedScopeButtonIndexDidChange selectedScope: Int) {
index = selectedScope
searchBar.text = nil
viewDidLoad()
}
答案 0 :(得分:1)
如果您要删除所有子视图,可以使用subviews
属性,如下所示:
view.subviews.forEach { $0.removeFromSuperview() }
但我建议您删除主视图并初始化一个新视图