iOS 16 iPad端如何让UISearchController显示在标题下方?
解决iOS 16 iPad上UISearchController显示位置问题
要将iPad上iOS16默认显示在导航栏右侧的UISearchController恢复到标题下方的样式,可按以下方法操作:
方法一:使用大标题导航栏模式(推荐,符合系统默认样式)
- 开启导航栏的大标题模式:
navigationController?.navigationBar.prefersLargeTitles = true navigationItem.largeTitleDisplayMode = .always
- 创建并配置UISearchController:
let searchController = UISearchController(searchResultsController: nil) searchController.obscuresBackgroundDuringPresentation = false // 搜索时不模糊背景 searchController.searchBar.placeholder = "输入搜索内容"
- 将搜索控制器绑定到导航项,并设置始终显示搜索栏(若需滚动时隐藏可设为
true):
navigationItem.searchController = searchController navigationItem.hidesSearchBarWhenScrolling = false
方法二:将搜索栏添加到列表头部
如果不需要大标题模式,可直接把搜索栏作为列表的头部视图:
let searchController = UISearchController(searchResultsController: nil) // 根据需求配置搜索控制器的属性 tableView.tableHeaderView = searchController.searchBar
设置完成后,UISearchController就会显示在页面标题下方,匹配你需要的样式。
内容的提问来源于stack exchange,提问作者Kren_DEL
相关产品推荐
相关产品推荐

