Добавление searchBar в tableHeaderView добавляет нижнее пустое пространство - PullRequest
0 голосов
/ 09 июня 2019

Мне нужно добавить UISearchController к UIViewController Я знаю, что лучший способ сделать это - добавить его к UINavigationController следующим образом:

    let resultSearchController = UISearchController(searchResultsController: athkarSearchTable)
    resultSearchController?.searchResultsUpdater = athkarSearchTable

    navigationItem.searchController = resultSearchController

Проблема в том, что я не могу использовать UINavigationController, поэтому я нашел другое решение: добавив его к tableHeaderView, как показано ниже:

let resultSearchController = ({
        let controller = UISearchController(searchResultsController: athkarSearchTable)

        controller.searchResultsUpdater = athkarSearchTable
        // to give a semi-transparent background when the search bar is selected.
        controller.dimsBackgroundDuringPresentation = true
        controller.searchBar.sizeToFit()
        controller.searchBar.barStyle = UIBarStyle.default
        controller.searchBar.searchBarStyle = .minimal

        tableView.tableHeaderView = controller.searchBar

        return controller
    })()
    // to limit the overlap area to just the View Controller’s frame instead of the whole Navigation Controller
        definesPresentationContext = true

Однако, это решение добавляет пустое пространство внизу tableView в UIViewController, а не athkarSearchTable, что не хорошо: / как на скриншоте ниже:

enter image description here

Я попытался установить нижний колонтитул на пустой вид и установить высоту нижнего колонтитула на ноль, ни один из них не работал: /

Есть предложения как убрать нижнее пустое пространство?

1 Ответ

0 голосов
/ 12 июня 2019

Проблема решена добавлением следующих строк:

tableView.rowHeight          = UITableView.automaticDimension
tableView.estimatedRowHeight = 400
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...