Я реализовал простой контроллер табличного представления с контроллером отображения поиска, перетащенным через Interface Builder. Затем я включил обновление, чтобы элемент управления обновлением был виден, когда пользователь тянет вниз для обновления.
Проблема в том, что счетчик отображается над строкой поиска, хотя должен находиться под ней.
Я знаю, что причина в минимальном стиле поиска. Если вы используете стиль Prominent по умолчанию, проблема не существует.
Когда вы медленно потянете вниз, вы увидите, что первая строка появляется над строкой поиска, например:
Если вы продолжите тянуть, он появится в том месте, где вы ожидаете, но если вы вернете представление обратно, пока оно все еще обновляется, вы увидите счетчик в верхней части строки поиска, например:
Как только вы нажмете на него так, чтобы счетчик коснулся заголовка первого раздела, счетчик немедленно исчезнет.
Вот как это должно выглядеть, как в Mail — под строкой поиска:
Я попытался решить проблему, просто расположив счетчик под строкой поиска, чтобы он никогда не появлялся сверху, но это не сработало. Как ни странно, этот код привел к тому, что счетчик не был виден в серой области над таблицей, и если вы нажмете его вверх, он появится над строкой поиска - прямо противоположно тому, что я ожидал. Вот этот код:
self.refreshControl.layer.zPosition = self.searchDisplayController.searchBar.layer.zPosition - 1;
Как предотвратить появление счетчика вверху строки поиска при использовании стиля Minimal?