UISearchController 作为 UITableViewHeader

Posted

技术标签:

【中文标题】UISearchController 作为 UITableViewHeader【英文标题】:UISearchController as UITableViewHeader 【发布时间】:2017-08-02 08:15:00 【问题描述】:

我有一个带有 UITableView自定义视图 的视图控制器。情节提要配置是 自定义视图 对齐我的视图控制器主视图的顶部、前导和后边距自定义视图具有恒定高度UITableView 的 topCustom Viewbottom 对齐。 UITableView 的 leading, trailing and bottom 与主视图的leading, trailing and bottom 对齐。我正在添加一个 UISearchController 的搜索栏 作为 UITableView 标题。这个视图控制器被推送到 UINavigationController Stack。现在,当用户点击 搜索栏 时,导航栏会隐藏起来,为搜索栏让路。但由于 自定义视图 位于 UITableView 上方,因此它可以容纳UISearchBar 应该是。我还想将 Custom View 移出并占据 UISearchBar 位置,这在没有上述 Custom View 的情况下是正常情况下的。帮助将不胜感激。

【问题讨论】:

【参考方案1】:

为自定义视图的高度约束设置 IBOutlet,当用户点击搜索栏时,设置例如“customview.heightConstraint.constant = 0” 在搜索栏委托方法

func searchBarTextDidBeginEditing(_ searchBar: UISearchBar)
customview.heightConstraint.constant = 0

【讨论】:

以上是关于UISearchController 作为 UITableViewHeader的主要内容,如果未能解决你的问题,请参考以下文章

UISearchController 模态表示样式错误

UISearchController 不能与非半透明 UINavigationBar 一起正常工作

以编程方式显示 UISearchController 的搜索栏

UISearchController 搜索栏不隐藏导航栏

当我删除它们时,UISearchController 不会删除结果

UISearchController 的搜索栏与第一个 tableview 单元格重叠