2017-01-01 101 views
3

我有一個tableview控制器。我添加了searchBar。但是當我點擊searchBar時,我在searchBar和TableView之間有空格?爲什麼?它是如何修復的? 在向下我添加屏幕截圖和代碼tableViewController的列表。感謝幫助。爲什麼在searchBar和tableview之間添加空格?

After click on searchBar

Click on searchBar

!!!!!! - 列表TableViewController - !!!!!!

class AlfavitController: UITableViewController, UISearchResultsUpdating { 

var searchController : UISearchController! 
var resultController = UITableViewController() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.downloadData(param: Manager.id) 

    tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell") 

    self.searchController = UISearchController(searchResultsController: self.resultController) 
    self.tableView.tableHeaderView = self.searchController.searchBar 
    self.searchController.searchResultsUpdater = self 
    self.resultController.tableView.dataSource = self 
    self.resultController.tableView.delegate = self 
    definesPresentationContext = true 
} 

func updateSearchResults(for searchController: UISearchController) { 
    self.arFiltLet = self.arWords.filter{(lett : String) -> Bool in 
     if lett.lowercased().contains(self.searchController.searchBar.text!.lowercased()){ 
      return true 
     }else{ 
      return false 
     } 
    } 
    self.resultController.tableView.reloadData() 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    if tableView == self.tableView { 
     return self.arWords.count 
    }else{ 
     return self.arFiltLet.count 
    } 
} 

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = self.tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 
    if tableView == self.tableView{ 
     cell.textLabel?.text = self.arWords[indexPath.row] 
    }else{ 
     cell.textLabel?.text = self.arFiltLet[indexPath.row] 
    } 
    return cell 
} 
+0

[爲什麼我的用戶界面頂部會出現額外的填充在iOS7中使用樣式UITableViewStyleGrouped的TableView](http://stackoverflow.com/questions/18880341/why-is-there-extra-padding-at-the-top-of-my-uitableview-with-style-uitableviewst) – Adeel

回答

1

原因發生這種情況是UIViewController的屬性automaticallyAdjustsScrollViewInsets,這是一個布爾值,指示視圖控制器是否應自動調整其滾動視圖插圖。,缺省爲YES。

解決方案: -

要麼寫下面的代碼在你的viewDidLoad中()

automaticallyAdjustsScrollViewInsets = false 

,或將其通過情節提要/ XIB無論你使用:

enter image description here

+0

謝謝但是,不工作! –

相關問題