放置在 UITableViewController 顶部时看不到搜索栏
cannot see searchbar when placed at top of UITableViewController
我在 UITableViewController 的顶部放置了一个搜索栏,但我不知道如何使其可见。我不想使用 searchController.searchBar(它会将搜索栏放在 tableView 的 header 中),因为我对使用 UISearchBarDelegate 很感兴趣。我通过故事板完成了上述操作。如何在 UITableView 控制器的 header 中放置搜索栏?
只需将搜索栏拖放到 table 视图控制器顶部(就在原型单元格上方)
在 swift 3+
中以编程方式添加搜索栏
private var searchBar: UISearchBar!
let searchBarView = UIView(frame: CGRect(x: CGFloat(0), y: CGFloat(0), width: CGFloat(UIScreen.main.bounds.size.width), height: CGFloat(45)))
searchBar = UISearchBar()
searchBar.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width , height: 44)
searchBar.searchBarStyle = UISearchBarStyle.prominent
searchBar.placeholder = " Search..."
searchBar.sizeToFit()
searchBar.isTranslucent = false
searchBar.delegate = self
searchBarView .addSubview(searchBar)
tableView.tableHeaderView=searchBarView;
有时SearchBar的高度为0。
我不知道为什么,但无论如何尝试设置约束高度 = 44
并且在检查器window中,您可以设置红色以方便查找。
和检查员window
我在 UITableViewController 的顶部放置了一个搜索栏,但我不知道如何使其可见。我不想使用 searchController.searchBar(它会将搜索栏放在 tableView 的 header 中),因为我对使用 UISearchBarDelegate 很感兴趣。我通过故事板完成了上述操作。如何在 UITableView 控制器的 header 中放置搜索栏?
只需将搜索栏拖放到 table 视图控制器顶部(就在原型单元格上方)
在 swift 3+
中以编程方式添加搜索栏private var searchBar: UISearchBar!
let searchBarView = UIView(frame: CGRect(x: CGFloat(0), y: CGFloat(0), width: CGFloat(UIScreen.main.bounds.size.width), height: CGFloat(45)))
searchBar = UISearchBar()
searchBar.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width , height: 44)
searchBar.searchBarStyle = UISearchBarStyle.prominent
searchBar.placeholder = " Search..."
searchBar.sizeToFit()
searchBar.isTranslucent = false
searchBar.delegate = self
searchBarView .addSubview(searchBar)
tableView.tableHeaderView=searchBarView;
有时SearchBar的高度为0。
我不知道为什么,但无论如何尝试设置约束高度 = 44
并且在检查器window中,您可以设置红色以方便查找。
和检查员window