【发布时间】:2019-08-26 14:42:19
【问题描述】:
当搜索结果为 0 时,我试图隐藏 tableViewUsers。但我的逻辑隐藏了 UItableView 和 UISearchBar“位于表头上”的结果是 0。我想查看“无结果视图”和保持搜索栏对用户可见以再次搜索?
代码
public func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
searchBar.showsCancelButton = true
filteredUsers = users.filter {
$0.username.range(of: searchText, options: .caseInsensitive) != nil ||
$0.email.range(of: searchText, options: .caseInsensitive) != nil
}
if(filteredUsers.count == 0){
tableViewUsers.isHidden = true
view.backgroundColor = UIColor.white
view.addSubview(NoItemFoundVIew)
NoItemFoundVIew.center = view.center
}
else
{
tableViewUsers.reloadData()
}
}
【问题讨论】:
-
使用 tableView.backgroundView 属性怎么样?您也可以将 backgroundColor 设置为 .clear。我没有得到 searchBar 在标题中,但是好的。
-
你能用代码告诉我吗?
-
尝试将 backgroundColor 设置为 .clear。在这种情况下,它应该可以工作,尽管不是最好的。如果您使用您的方法而不使用中心属性,我还建议在中心约束 NoItemFoundVIew。
-
否则您可以设置 tableView.backgroundView = NoItemFoundView() 并在有结果时将其设置为 nil
-
模拟器还内置了printScreen功能。Command+S
标签: swift uitableview uisearchbar