swift-of-airbnb

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

Github星跟踪图

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

主要指标

概览
名称与所有者yonasstephen/swift-of-airbnb
主编程语言Swift
编程语言Swift (语言数: 2)
平台
许可证MIT License
所有者活动
创建于2017-04-08 09:14:15
推送于2019-05-09 06:04:05
最后一次提交2019-05-09 14:04:04
发布数0
用户参与
星数475
关注者数24
派生数65
提交数21
已启用问题?
问题数6
打开的问题数5
拉请求数1
打开的拉请求数0
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?