UISearchController 在编辑时添加偏移量

UISearchController add's offset while editing

UISearchController 在编辑开始时添加一个偏移量。在横向模式下它工作得很好,但在纵向模式下就不行了。

故事板中是否有任何设置可以帮助解决这个问题。

下面的工作但是,显示了一个动画,它在 +320 处运行,然后返回到 -320。

func updateSearchResultsForSearchController(searchController: UISearchController) {
        self.mySearchContorller.searchBar.frame=CGRectMake(-320, 0, self.myTable.frame.size.width, 44.0)

    }

我使用了带有 segue(显示详细信息)的故事板。附件是故事板的屏幕截图。

下载了你的项目并试了一下,看来问题出在这里:
更改
self.tblSearchController.definesPresentationContext = true
definesPresentationContext = true

此外,您是子classing UITableViewController,不要创建您自己的 table,而是将一个拖到您的情节提要中并使用它。您的 DetailViewController 应该是这样的:
class DetailTableViewController: UITableViewController {

var tblSearchController:UISearchController!

override func viewDidLoad() {
    super.viewDidLoad()

    self.tblSearchController = UISearchController(searchResultsController: nil)
    self.tableView.tableHeaderView=self.tblSearchController.searchBar
    definesPresentationContext = true

}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 1
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let aCell:UITableViewCell! =  tableView.dequeueReusableCellWithIdentifier("Cell")
    return aCell
}

}