2016-07-24 9 views
0

Я реализовал UISearchController для поиска данных моего приложения. он отлично работает для ios 9.Таблица результатов UISearchController не подходит с окном IOS 8.1

Но когда я запускаю приложение на симуляторе IOS 8.1, следующие проблемы возникают, когда я просматриваю поиск.

enter image description here

Результат поиска контроллер TableView не вписывается в окно.

Я реализовал UISearchViewController следующим

override func viewDidLoad() { 
    super.viewDidLoad() 

    let searchResultControllerNetwork = HVNetworkSearchController() 
    searchResultControllerNetwork.selectRowDelegate = self 
    searchControllerNetwork = UISearchController(searchResultsController: searchResultControllerNetwork) 
    let _ = self.searchControllerNetwork.view 
    searchControllerNetwork.searchResultsUpdater = searchResultControllerNetwork 
    searchControllerNetwork.searchBar.delegate = self 
    searchControllerNetwork.searchBar.sizeToFit() 
    self.view.addSubview(self.searchControllerNetwork.searchBar) 
    self.definesPresentationContext = true 

    //Other codes here 
} 

я не смог найти решение из Интернета, и я решил разместить вопрос здесь.

ответ

0

Кажется, это ошибка IOS 8. Это происходит по следующей причине:

Контроллер результата поиска не имеет навигационной панели. IOS 8 использует предыдущую высоту таблиц диспетчера представлений. Поскольку нет панели навигации, она уменьшает ее снизу. Как всегда мы можем решить проблему для IOS 8, так как это происходит на IOS 8.

Я сделал следующим образом

@IBOutlet var tableviewBottomConstraint: NSLayoutConstraint! 

if (System version is less than 9.0) { 
    tableviewBottomConstraint.constant = -(navigation bar height) 
}