我正在做类似Facebook应用程序的左侧面板搜索功能。我有两个UITableViewControllers。当用户点击UISearchBar以显示搜索结果时,我从其中一个获取tableView并将其放在另一个之上。当我创建第二个的UITableViewController,我知道的,它的分隔符样式将是没有在viewDidLoad方法:UITableViewCell分隔符风格不变
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
然后,当我把它的tableView第一的UITableViewController的观点之上,它是空的,首先,因为没有数据尚未输入到UISearchBar。并没有任何分隔符。但是,当用户输入任何字母和表格数据有一些记录时,分隔符样式将返回到默认的样式(白线)。
因此,由于某种原因,我的第二个控制器忘记了什么应该是分隔符样式并在重新载入表视图分隔符后再次显示。 What can be the reason?
编辑: 这是我如何创建我的第二个的UITableViewController,并采取它的tableView把第一控制器的看法:
- (UIView *)searchResultsView
{
if (! _searchResultsView) {
_searchResultsView = self.searchResultsViewController.tableView;
_searchResultsView.frame = CGRectMake(0, 44, 320, self.view.frame.size.height-44);
}
return _searchResultsView;
}
- (SearchResultsViewController *)searchResultsViewController
{
if (! _searchResultsViewController) {
_searchResultsViewController = [[SearchResultsViewController alloc] init];
_searchResultsViewController.searchBar = _searchBar;
}
return _searchResultsViewController;
}
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
[self.view addSubview:self.searchResultsView];
}
截图:
这是它的外观,当有为表视图没有数据:
正如你看到的,没有分隔符。
这就是它在有数据时的样子。我删除了单元格内容。如你所见,有白色的分隔符。
是 “的tableView” 是UITabViewController的对象? – NSUserDefault
这是第二个UITableViewController的对象,它放在第一个UITableViewController的视图之上,当用户想要搜索某些东西时。他不在相同的表格数据中搜索。这就是为什么我使用另一个表视图控制器。这一切看起来像Facebook应用程序的搜索它左侧面板。 – wzbozon
@wzbozon你可以展示你的代码以及你试图实现的屏幕截图吗? – Rushi