我有一个应用程序,我有一个UITableView,通过sectionIndexTitlesForTableView:侧面可滚动的部分.
在UITableView的tableHeaderView中,我想添加一个UISearchBar,我想要像iOS在iOS7中的新的联系人应用程序中使用的一样.但我似乎无法让它上班.
搜索栏不是屏幕宽度的100%,而是与其右侧相反.
我的问题是:
>当具有可见部分索引的UITableView的tableHeaderView时,如何使搜索栏的宽度达到100%?
>如何创建一个转换,像iOS 7的Contacts应用程序中导航栏隐藏,搜索栏的灰色背景延伸到状态栏?
我已经尝试了几件事,包括在导航栏中添加搜索栏,并使用UISearchBarController,但是我在Apple网站上找不到有关如何创建此文档的良好文档.此外,从iOS6到iOS7的转换指南对我来说并没有很好的帮助.
这里有两张照片说明我的问题:
解决方法
两个主要的差异,苹果做他们的应用程序的方式,这将解决你的问题.
首先,他们的UISearchBar不是tableView的headerView.这是表格上方的单独视图.您需要将UITableViewController更改为具有位于UISearchBar下方的UITableView的UIViewController.
其次,他们的UISearchBar有一个相关的搜索显示控制器.假设你正在使用一个故事板文件,这个文件就是捆绑在一起的 – 只需用搜索显示控制器添加UISearchBar即可.这将处理所有转换到状态栏的下方.