Ios UISearchControllerDelegate-搜索栏在表头不可见

Ios UISearchControllerDelegate-搜索栏在表头不可见,ios,uitableview,swift,Ios,Uitableview,Swift,MyUITableViewController符合新的UISearchControllerDelegate和UISearchResultsUpdate 以下是我的搜索栏设置代码: override func viewDidLoad() { var searchController = UISearchController(searchResultsController: self) searchController.searchResultsUpdater = self

My
UITableViewController
符合新的
UISearchControllerDelegate
UISearchResultsUpdate

以下是我的搜索栏设置代码:

override func viewDidLoad() {
    var searchController = UISearchController(searchResultsController: self)
    searchController.searchResultsUpdater = self
    self.tableView.tableHeaderView = searchController.searchBar
    self.definesPresentationContext = true
}

但是,当在模拟器中运行此命令时,即使在代码中指定了搜索栏,表头中也没有搜索栏。我也在
视图中尝试了这段代码,但仍然没有显示搜索栏。

一位苹果工程师告诉我,你必须给搜索栏一个框架。如果打印搜索栏的框架,您会注意到它的高度为零。所以这可能是苹果代码中的一个bug

searchController.searchBar = CGRectMake(0.0, 0.0, 320.0, 44.0)
编辑:

文档指定必须传入要显示结果的视图控制器。若要在您所在的同一视图控制器中显示此信息,请传入nil

var searchController = UISearchController(searchResultsController: nil)

谢谢,它现在显示出来了。但是,我在点击它时遇到一个错误
2014-06-10 11:23:34.410 MyApp[21108:1196461]警告:尝试在其视图不在窗口层次结构中的对象上显示并且屏幕是黑色的。有什么想法吗?你也可以使用
搜索栏上的
sizeToFit
,而不是设置一个明确的框架。