Показать / скрыть панель инструментов UIToolbar, «совмещать движение пальцев», точно так же, как, например, в iOS7 Safari

Примечание: посмотрите отличный подкласс Thin UINavBar здесь:

https://stackoverflow.com/a/20720359/294884

Если вы работаете над этой проблемой, GTScrollNavigationBar близок к готовому решению проблемы navBar!

Щедрость 50 баллов здесь, удивительно, нет ответов.

Например: на iPhone 2014 откройте Safari, загрузите любую веб-страницу.

Посмотрите на панель инструментов iOS внизу.

Теперь двигайте пальцем вверх и внизТОЛЬКО НЕСКОЛЬКО ПИКСЕЛЕЙ.

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

Но правила взаимодействияочень сложнои включают в себя включение / выключение пальца во время скрытия, сопоставление расстояний, жесты при перемещении вниз по странице, специальные случаи для очень коротких страниц и т. д.

я бы хотелИМЕННО ТАК дублировать поведение Apple.

(Кажется разумным, что мы должны соответствовать Apple UX.)

Есть ли способ сделать это? Apple предлагает одношаговую команду для этого, о которой я не знаю? Или вам приходится кропотливо дублировать концепцию?

Благодарю.

Кстати, следующая логика надежна и будетгрубо дублировать как Apple это делает:

-(void)feedIsScrolled:(CGFloat)scrollNewOverallYPosition
{
// call this routine when scrollViewDidScroll:

self.feedIsScrolledDelta =
 scrollNewOverallYPosition - self.feedIsScrolledPrevious;
self.feedIsScrolledPrevious =
 scrollNewOverallYPosition;

// nb, you do those only in this routine, NOT the following routine.

if ( scrollNewOverallYPosition < 15.0 )
    {
    .. animate in the bar
    return;
    }

if ( self.feedIsScrolledDelta > 0.0 )
    .. animate away the bar
}

-(void)feedIsThrown:(CGFloat)scrollNewOverallYPosition
{
// call this routine when scrollViewDidEndDragging:
// BUT ONLY when willDecelerate: is true

if ( self.feedIsScrolledDelta <= 0.0 )
    .. animate in the bar
else
    .. animate away the bar
}

Кстати, конечно, вы можете использовать

(void)setToolbarHidden:(BOOL)hidden animated:(BOOL)animated

скользить UIToolbar вверх и вниз. НО это никак не помогает с «подбором пальцев».

Примечание: и вот, например, превосходное решение, которое можно увидеть на SO:

https://stackoverflow.com/a/21049991/294884

Вы можете программировать таким образом, реализуя каждое правило в примере Apple, чтобы удовлетворить ваш вкус в каждой точке. (Что делать, когда вы находитесь рядом с дном, пальцем вверх, в каком направлении и т. Д. И т. Д.) Я хочу сказать, что я просто предположил, что кто-то уже выполнил всю эту работуточно соответствует Apple UX - хе!

Ответы на вопрос(3)

Ваш ответ на вопрос