在旋转期间,swift searchBar在searchController.active之后从tableView的顶部分离

时间:2014-11-25 14:53:19

标签: uisearchcontroller

//为什么包含searchResults数组的tableView在旋转到横向并返回到纵向之后,将tableView的顶部向下推,从而将searchBar与tableView的顶部分开。每次旋转到横向和后退后都会重复出现这种情况。这仅在搜索建立后发生。如果searchController未处于活动状态,则不会在旋转时发生。

类InitialViewController:UIViewController,UITableViewDataSource,UITableViewDelegate,UISearchResultsUpdating {

@IBOutlet weak var tableView: UITableView!

let searchController = UISearchController(searchResultsController: nil)
let b = searchController.searchBar

b.sizeToFit() // crucial, trust me on this one
b.scopeButtonTitles = ["Drugs", "Tumor", "Target"]
tableView.tableHeaderView = searchController.searchBar
definesPresentationContext = true
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false

1 个答案:

答案 0 :(得分:0)

由于某些未知原因,实现以下功能解决了旋转问题。

  override func willAnimateRotationToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation, duration: NSTimeInterval) 
  {
    self.tableView.reloadData()
  }

在viewDidLoad函数后粘贴上面的func,我的问题就消失了。不知道为什么。格伦蒂斯曼