Knowband Blog | Ecommerce Modules

Como remover espaço extra entre a barra de navegação e a exibição de rolagem?

Objetivos do blog

Depois de ler este blog, poderemos entender o motivo do espaço extra entre a Barra de navegação superior e a Visualização de rolagem no aplicativo iOS nas versões iOS 7 para iOS 10.

Problema Declaração

Quando adicionamos uma visualização de rolagem ou visualização de tabela (qualquer visualização rolável) em um controlador de visualização que contém uma Barra de Navegação na parte superior, enfrentamos um problema comum que é algum espaço extra entre a Barra de navegação superior e a Visualização de rolagem.

Por que a questão atual está lá

Do iOS 7 ao iOS 10, quando adicionamos uma barra de navegação sobre qualquer ViewController, o Xcode nos oferece uma opção para tornar a barra de navegação translúcida. Para que possamos ver através da barra de navegação e a rolagem da página pode ser vista através da barra de navegação.

Agora, a razão para o problema é que quando uma Visualização de Rolagem é adicionada no ViewController e a Barra de Navegação é definida e translúcida, o ScrollView deixa uma margem a partir da visualização principal para a barra de navegação. Mas a barra de navegação é adicionada no tempo de execução e move a vista principal para baixo, de modo que a Barra de Navegação caiba na parte superior. Então, nesse caso, a visão é deslocada para baixo pela barra de navegação e a margem de folhas de exibição de rolagem para a barra de navegação. Aqui nós observamos que o espaçamento extra foi adicionado duas vezes.

Essa foi a única razão pela qual vemos espaço extra entre a Barra de Navegação e a Visualização de Rolagem.

Procedimento para resolver o problema

Existem duas maneiras de resolver o problema. Em ambos os casos, restringimos a visualização de rolagem para deixar margem extra para a Barra de Navegação.

1.Podemos definir a opção Translúcido da Barra de Navegação como "False" no Xcode

? This will make the navigation bar Opaque and then the scroll view is not required to scroll under the Navigation Bar. So that Scroll View will leave no space for Navigation Bar.

No GIF abaixo você pode ver que a restrição de layout da visão muda quando habilitamos / desabilitamos a propriedade "Translucent" da barra de navegação.

2.Nós podemos desabilitar "Ajustar inserções de rolagem"propriedade do ViewController.

? This will restrict the Scroll View to leave extra space for the Navigation bar on top.

Resumo

Após seguir o procedimento acima, você poderá remover o espaço extra entre a Barra de Navegação e a Visualização de Rolagem.