Come rimuovere ulteriore spazio tra la barra di navigazione e la vista di scorrimento?

Obiettivi del blog

Dopo aver letto questo blog, saremo in grado di capire il motivo dello spazio extra tra la barra di navigazione superiore e la vista di scorrimento nell'app per iOS nelle versioni iOS 7 a iOS 10.

Dichiarazione problema

Quando aggiungiamo una vista a scorrimento o una vista tabella (qualsiasi vista scorrevole) in un controller di visualizzazione che contiene una barra di navigazione in alto, ci troviamo di fronte a un problema comune che è lo spazio aggiuntivo tra la barra di navigazione superiore e la vista di scorrimento.

scorrevole: app per iOS

Perché il problema attuale è lì

Da iOS 7 a iOS 10, quando aggiungiamo una barra di navigazione su qualsiasi ViewController, Xcode ci fornisce un'opzione per rendere traslucida la barra di navigazione. In modo che possiamo vedere attraverso la barra di navigazione e lo scorrimento della pagina può essere visto attraverso la barra di navigazione.

Ora il motivo del problema è che quando una vista di scorrimento viene aggiunta nel ViewController e la barra di navigazione è impostata e traslucida, ScrollView lascia un margine dalla vista principale per la barra di navigazione. Ma la barra di navigazione è stata aggiunta nel tempo di esecuzione e sposta la vista principale verso il basso in modo che la barra di navigazione possa essere posizionata in alto. In tal caso, la vista viene spostata verso il basso dalla barra di navigazione e la vista a scorrimento lascia il margine per la barra di navigazione. Qui osserviamo che la spaziatura aggiuntiva è stata aggiunta due volte.

Questo è stato l'unico motivo per cui vediamo uno spazio extra tra la barra di navigazione e la vista di scorrimento.

Procedura per risolvere il problema

Esistono due modi per risolvere il problema. In entrambi i casi limitiamo la visualizzazione a scorrimento per lasciare margine extra per la barra di navigazione.

1.Possiamo impostare l'opzione Traslucido per la barra di navigazione su "False" in 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.

Nella sottostante Gif puoi vedere che il vincolo di layout della vista cambia quando abilitiamo / disabilitiamo la proprietà "Translucent" della barra di navigazione.

traslucido

2.Possiamo disabilitare "Regola gli angoli della vista di scorrimento"proprietà di ViewController.

Regola gli angoli della vista di scorrimento: app iOS

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

sommario

Dopo aver seguito la procedura sopra, sarai in grado di rimuovere lo spazio extra tra la barra di navigazione e la vista di scorrimento.


Akash Sharma

Akash Sharma

I'm Akash Sharma, an engineering graduate and software developer by profession. Challenges fascinate me and I like solving them.

Leave a Reply

Your email address will not be published. Required fields are marked *