Giter Site home page Giter Site logo

ryuyatsk / swift-of-airbnb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yonasstephen/swift-of-airbnb

0.0 2.0 0.0 31.6 MB

A self-taught project of learning Swift by making some of Airbnb's screens

License: MIT License

Swift 99.57% Objective-C 0.43%

swift-of-airbnb's Introduction

Swift of Airbnb

This is a self-taught project of learning Swift inspired by Sam Lu's 100 Days of Swift and Allen Wong's 30 Days of Swift. Trying to take the learning progress further by making some of Airbnb's screens, which in my opinion is one of the most beautifully-designed iOS App. Kudos to Airbnb for setting such high standard in iOS Development.

Projects

Project 1 - Occupant Filter

occupant-filter

Things I learn:

  • Custom counter control AirbnbCounter
  • Custom UISwitch control AirbnbSwitch which is basically an image UIButton that animates from left to right when the value toggled

Project 2 - Date Picker

datepicker

Things I learn:

  • All kinds of things with UICollectionView (didSelect, didHighlight, shouldSelect, shouldHighlight, de/selecting cells programatically, etc.)
  • One issue that made me stuck for days was there was tiny pixel gap between date cells that I couldn't remove. I posted the solution here: http://stackoverflow.com/a/42574952/2105910

Project 3 - Main Screen

main screen

Things I learn:

  • How to make iOS Frameworks (using the previous 2 components in this screen)
  • UITableView header animation (view position & alpha change as user scrolls)
  • Custom page tab navigation with underline border that animates to selected page (For You, Homes, Experience, Places)
  • Nested UICollectionView inside UITableView

Project 4 - Custom Page Transition

page transition

Things I learn:

Coming Soon

This is an ongoing project and a lot of things already planned!

  • Page transition animation on selecting home item
  • The map view! (that all other booking apps copy :D)
  • Home detail screen
  • My trips screen
  • or you let me know what you wanna see!

Resources

Michigan Labs

Raywenderlich

Pexels

Icons 8

Let's Build That App

License

Swift of Airbnb is licensed under MIT License

swift-of-airbnb's People

Contributors

yonasstephen avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.