0

我有一个在单元格中显示数据的 UITableViewController。在viewWillAppear我用这个方法向 tableHeaderView 添加一个 UIViewself.tableView.tableHeaderView =headerView;

headerView我以编程方式添加 UISearchBar 和 UISegmentControl 。我这样设置 UISearchBar 委托

self.searchDisplay.delegate = self;
self.searchDisplay.searchBar.delegate = self;
self.searchDisplay.searchResultsDataSource = self;
self.searchDisplay.searchResultsTableView.delegate = self;

searchDisplayUISearchDisplayController。_

搜索工作完美,但我的问题是当我从searchResultsTableViewUINavigationController 中触摸后退按钮时选择一个单元格并转到另一个 viewController 并返回此视图时,表格不再滚动。

我添加了这两种方法viewDidLoadviewWillAppear 但仍然不起作用

self.tableView.bounces = YES;
self.tableView.scrollEnabled = YES;

当我在没有搜索的情况下从表中选择一行并返回并返回时,它工作得很好。

有什么问题 ?

4

2 回答 2

0

尝试放置您的

self.tableView.bounces = YES;
self.tableView.scrollEnabled = YES;

- (void) viewWillAppear:(BOOL)animated而不是viewDidLoad. 我相信viewDidLoad从其他视图返回时不会被调用,只有在创建时才会调用。

于 2012-11-18T10:04:46.350 回答
0

您实际上在视图上使用了两个表视图, (self.tableViewself.searchDisplay.searchBarTableView) 一个用于显示数据,一个用于显示搜索到的数据。我认为 searchViewController 在 segue 之后停留在屏幕上。

有一个技巧可以在单个 tableView 中显示整个数据和搜索结果(无需使用UISearchDisplayController

只需执行以下操作即可显示搜索结果:

self.tableView.dataSource = self;
self.tableView.delegate = self;

对于实际数据,您可以清空UISearchBar并加载表格视图数据源中的整个数据。

于 2012-11-18T13:02:27.943 回答