5

我有适用于 iOS7 及以下的工作应用程序,
我使用 UISearchDisplayController 在表中进行搜索。

问题:
在 iOS8 中不显示搜索标题视图后。
如下图所示。

搜索前: 在此处输入图像描述

搜索后: 在此处输入图像描述


我尝试使用 UISearchController 但也有同样的问题我使用了这个代码链接

我在 TPSMastreViewController.m 中添加以下代码

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *v = [[UIView alloc] init];
    v.backgroundColor = [UIColor greenColor];
    return v;
}


我检查了 在 iOS8 的情况下没有调用委托 - (UIView *)tableView:(UITableView *)tableView
viewForHeaderInSection:(NSInteger)section 。编辑: 我的理解是只有 UITableViewDataSource 委托被调用, UITableViewDelegate 没有。请不要说我在 ViewDidLoad 中设置了两个委托 问题: 1] 它是 UI 更改吗? 2]任何人都有补丁,以便委托方法将强制调用。






4

1 回答 1

5

我找到了答案,所以在这里写它可能会帮助其他面临同样问题的人

只需要添加委托 heightForHeaderInSection,它将显示 UISearchController(iOS8) 的 searchResultsController 和 UISearchDisplayController(iOS7) 的 searchResultsTableView 的标题视图

在 TPSMastreViewController.m 中添加以下代码,它将解决问题。

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 20;
}

我通过阅读这个问题找到了答案:)
在 iOS 8 UITableView heightForHeaderInSection 不是可选的

于 2014-09-04T17:12:43.860 回答