Попробуйте скрыть / отобразить нижнюю фиксированную навигацию на iPhone на основе window.innerHeight. Когда бы ни отображались панели инструментов, обычно при прокрутке вверх можно отобразить нижнюю навигационную панель и скрыть ее при прокрутке вниз, когда панели инструментов скрываются.
Вы можете использовать код, подобный этому:
var windowHeight = {
small: window.innerHeight,
middle: window.innerHeight,
big: window.innerHeight
}
window.addEventListener('resize', function(){
var currentHeight = window.innerHeight;
if (currentHeight < windowHeight.small) {
windowHeight.small = currentHeight;
}
if (currentHeight > windowHeight.big) {
windowHeight.big = currentHeight;
}
console.log('windowHeight.small', windowHeight.small, 'windowHeight.middle', windowHeight.middle, 'windowHeight.big', windowHeight.big, 'currentHeight', currentHeight);
if (currentHeight === windowHeight.big) {
transform(stickyNav, 'translate3d(0,120%,0)');
console.log('Hide bottom nav on big screen!');
} else if (currentHeight === windowHeight.middle) {
transform(stickyNav, 'translate3d(0,0,0)');
console.log('Show bottom nav on middle screen!');
} else {
transform(stickyNav, 'translate3d(0,-100%,0)');
console.log('Display bottom nav high up on smaller screen!');
}
})
Функция transform (stickyNav, 'translate3d (x, x, x)') - это простая функция, использующая нижнюю навигационную панель и затем применяющая преобразование, чтобы скрыть / отобразить элемент, расположенный внизу.