Подтвердить что ты не робот

Скрыть большой заголовок при прокрутке вверх

У меня есть контроллер нормального представления, встроенный в контроллер навигации. В этом представлении контроллер, у меня есть табличное представление, которое использует ограничения безопасной области. (Я не использую контроллер табличного представления)

Контроллер навигации настроен так, чтобы предпочесть большие заголовки, и режим установлен на. В бета-версии 2 это сработало отлично, поэтому, когда я вошел в заголовок, было большим, и когда я прокручивался вниз, он стал маленьким (как обычный). Но так как бета-3 это больше не работает.

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

Или это ошибка в текущей версии Quick 4/iOS 11, но такие приложения, как мессенджер и настройки, все еще работают таким образом.

Спасибо заранее.

4b9b3361

Ответ 1

Для меня было так, что если вы установите логическое "Предпочитает большие заголовки" в раскадровке, чтобы оно было истинным, оно останется большим, если вы включите его по коду, он работает так, как ожидалось!

Ответ 2

Я нашел обходной путь на этом сайте, в основном, если tableView (или элемент с прокруткой) не является первым представлением в вашей иерархии представлений, большой заголовок не может скрыться автоматически.

Пример, который НЕ будет работать Пример, который будет работать

https://markusbodner.com/2017/10/08/fix-large-navigation-bar-title-not-hiding-on-scroll-in-ios-11/

Я добавил в представлении willAppear:

        if #available(iOS 11.0, *) {
        navigationController?.navigationBar.prefersLargeTitles = true
    } else {
        // Fallback on earlier versions
    }

Ответ 3

(void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView.contentOffset.y > 0) { //20
        [self.navigationController.navigationBar setPrefersLargeTitles:NO];
    } else {   
        [self.navigationController.navigationBar setPrefersLargeTitles:YES];
    }    
}

Ответ 4

Отметьте " Предпочитает большие заголовки" для вашей панели навигации в IB или используйте:

navigationController?.navigationBar.prefersLargeTitles = true

Ответ 5

Я использую программный макет и столкнулся с аналогичной проблемой с большими заголовками. Я нашел решение здесь: fooobar.com/info/203603/.... В viewDidLoad() мне пришлось выключить и снова включить largeTitleDisplayMode. Это была правильная комбинация, благодаря которой большие титры работали с прокруткой:

self.navigationItem.largeTitleDisplayMode = .never
self.navigationItem.largeTitleDisplayMode = .always