Skip to content

Draft: Side bar navigation prototype on iPadOS

Additions

This merge request brings the addition of a prototype of side bar navigation on iPads running iPadOS 18.0 and versions above.

This also disables the bottom tab bar hack in order to properly have a side bar navigation on iPad.

Several constraints updates were made to:

  • The PagingViewController with:
    • The buttonBarView's constraints that are now aligned with the safe area without the use of left and right anchors
    • The containerView's bottom constraint that is now aligned with the view's bottom anchor to properly show the container over the safe area since the bottom bar is hidden
  • The AudioMiniPlayer with:
    • The bottom constraint that is now aligned with the rootViewController in order to properly display the player when the bottom tab bar is hidden
  • The MediaCategoryViewController with:
    • The collection view and search bar constraints are now aligned to the safe area to avoid any unexpected offset when the side bar is displayed

In order to avoid having to refactor around the PagingViewController and related classes for the Audio section:

  • Every tab of this section has been turned into a proper navigation tab (only for the side bar)
  • All the new tabs now have a proper icon
  • The tab bar icons now have a proper color that can be set when new tabs are created

Remaining work to do

  • The tabs management can be improved, especially the audio related ones:
    • We can think of creating an Audio collapsable section containing every sub-sections (Artists, Albums, Songs, Genres)
  • The previous tab icons can be improved by selecting proper symbols
  • The tab icons can be different when the tab is currently the one selected or not (the icon can be filled when the tab is selected and emptied when it is not, for example)
  • The edit actions are currently missing and could be located in the side bars' bottomBarView
    • The view's width is automatically set by the view controller but the height is customizable

Screenshots

Top tab bar
Side bar
Edit actions

Merge request reports

Loading