просмотр прыжков, когда панель навигации скрыта - PullRequest
2 голосов
/ 06 января 2011

В нашем приложении, когда одно из представлений передается на контроллер навигации, панель навигации отображается в течение 5 секунд, а затем мы устанавливаем навигацию BarBidden на ИСТИНА Позже, если пользователь нажимает на экран, мы переключаем значения navigationBarHidden. Но поскольку идентификатор навигационной панели скрыт или становится видимым, представление для этих действий переходит вверх и вниз соответственно.

Можно ли каким-либо образом предотвратить скачок вида, когда панель скрыта или сделана видимой?

Спасибо и С уважением, Hetal

Ответы [ 3 ]

6 голосов
/ 18 июля 2014

У меня такая же проблема. В моем проекте это потому, что вид - это вид с прокруткой. Если ваше представление является представлением прокрутки или представлением таблицы, вы можете попробовать это:

Я добавляю ниже код для контроллера.

self.automaticallyAdjustsScrollViewInsets = NO;

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

4 голосов
/ 06 января 2011

Вы используете setNavigationBarHidden: или setNavigationBarHidden:animated:?

Попробуйте [navigationController setNavigationBarHidden:NO animated:YES];.

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

1 голос
/ 24 октября 2017

Я понимаю, что это старый разговор, но у меня возникли проблемы с этим в iOS 11 с некоторым ранее работающим кодом, и это был первый результат, который я продолжал получать в Google.

В моем случае яесть контроллер вида с навигационным контроллером.Представление содержит представление прокрутки.

Если представление прокрутки увеличено во всех масштабах, положение прокрутки переместится после анимации скрытия / показа панели навигации.

Настройка self.automaticallyAdjustsScrollViewInsets = NO/false не работаетгде это произошло через iOS 10).

После долгих раздумий я понял, что в UIScrollView есть новое свойство contentInsetAdjustmentBehavior.желаемый эффект (т. е. положение прокрутки не изменяется при отображении / скрытии панели навигации).

В быстром режиме это выглядит так: self.scrollView?.contentInsetAdjustmentBehavior = .never

...