Exploring SpringBoard-esque UI in Swift
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



This is a personal project that I started so I could learn (and form an educated opinion about) Swift. I chose to re-implement parts of the UI from iOS' SpringBoard.app because I admire the design, and it's a more complex and stateful UI than I had attempted on iOS. There's still some missing features, and room for improvement in the code. I've moved onto other projects for the moment, but I plan to revisit this code again.

Click on the image below for a quick YouTube screencast:

Preview on YouTube

Not Yet Implemented

  • Model layer / persistence
  • Dragging an app on another app to create a folder
  • Multiple pages of apps at the root level and in folders

Areas For Improvement

  • Drag and drop abstraction
  • Clean up and simplify collection view layouts
  • Unit tests
  • Animation / transition polish