2014-11-25 42 views
1

//为什么包含searchResults数组的tableView在旋转到横向并返回纵向后,将tableView的顶部向下推,从而将searchBar从顶部分离的tableView。这种情况在每次旋转后都会重复出现在风景和后面。这只发生在搜索之后。如果searchController未处于活动状态,则不会发生旋转。Swift searchBar从tableView顶部分离后searchController.active在旋转过程中

类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 

回答

0

为了实现以下功能一些未知的原因,解决了旋转问题。

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

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