скрыть пользовательскую панель поиска при запуске

в моем приложении Swift 2 у меня есть контроллер табличного представления, где я добавил настраиваемую панель поиска (темно-серая строка)

в viewDidLoad я звоню

configureCustomSearchController()

это функция:

  func configureCustomSearchController() {
       customSearchController = CustomSearchController(
          searchResultsController: self,
          searchBarFrame: CGRectMake(0.0, 0.0, MyTable.frame.size.width, 50.0),
          MyTable.tableHeaderView = customSearchController.customSearchBar
          customSearchController.searchBar.sizeToFit()
          customSearchController.customDelegate = self
        }



    func updateSearchResultsForSearchController(searchController: UISearchController) {
        // DO SOMETHING
    }

    func didStartSearching() {
        // DO SOMETHING
    }


    func didTapOnSearchButton() {
        // DO SOMETHING
    }


    func didTapOnCancelButton() {
        // DO SOMETHING
    }

    func didChangeSearchText(searchText: String) {
        // DO SOMETHING
    }

введите здесь описание изображения

Мой вопрос: как я могу скрыть поисковик, если мое табличное представление появится и покажет боковую панель, если я потяну вниз.

доступна функция обновления выпадающего списка.


person Stack108    schedule 09.04.2016    source источник
comment
так что вы хотите отображать панель поиска только тогда, когда пользователь обновляет?   -  person HardikDG    schedule 09.04.2016


Ответы (3)


я нашел свое решение:

просмотрDidLoad

MYTable.contentInset = UIEdgeInsets(top: -1, left: 0, bottom: 0, right: 0)

это скрывает панель поиска при запуске, и если я прокрутлю немного вверх, панель поиска будет видна

person Stack108    schedule 10.04.2016
comment
Наконец-то кто-то нашел простое решение! - person Mike; 16.04.2019

если вы хотите показывать панель поиска, когда пользователь прокручивает вниз, добавьте этот код

  self.MyTable.tableHeaderView = customSearchController
        self.MyTable.contentOffset  = CGPointMake(0, CGRectGetHeight(customSearchController.frame))
        customSearchController.delegate = self
person Abdul Waheed    schedule 09.04.2016
comment
я пробую contentOffset, но моя таблица каждый раз будет выглядеть в одной и той же позиции. - person Stack108; 10.04.2016
comment
не могли бы вы опубликовать скриншот вашего стола View и StoryBoard - person Abdul Waheed; 12.04.2016

Если вы хотите скрыть заголовок, содержащий вашу настраиваемую панель поиска, вы можете попробовать следующие решения:

Когда вам нужно скрыть заголовок (при запуске):

tableview.contentOffset = CGPointMake(0,44)

Когда вам нужно показать заголовок (при раскрывающемся действии):

tableview.contentOffset = CGPointMake(0,0)
Ссылка: https://stackoverflow.com/a/14433304/4557505

Другой вариант

table.tableHeaderView = nil

А позже, если вы захотите показать его, просто назначьте его снова,

table.tableHeaderView = theHeaderView;

Дополнительную информацию об этом можно найти на странице https://stackoverflow.com/a/8079933/4557505.

Надеюсь, это может помочь вам

В противном случае вы можете установить панель поиска в представлении viewController и показать/скрыть ее на основе вашего обновления для обновления.

person HardikDG    schedule 09.04.2016