Manage your tip the easier way
Time spent: 2.5 hours
- Required: User can enter a bill amount, choose a tip percentage, and see the tip and total values.
- Required: Settings page to change the default tip percentage.
- Optional: UI animations
- Optional: Remembering the bill amount across app restarts (if <10mins)
- Optional: Using locale-specific currency and currency thousands separators.
- Additional: Making sure the keyboard is always visible and the bill amount is always the first responder. This way the user doesn't have to tap anywhere to use this app. Just launch the app and start typing.
- Additional: Theming the Settings page like the main application page.
- Additional: Also remembering the tip percentage across app restarts.
- Use enum
Tip
to abstract Tip management - Display flag image for current locale
- Custom view controller transition animation
- Change amount resgion color to indicate value changed
- Save and load tip preference using
NSUserDefaults
- Use
callback
block forSettingViewController
instead ofDelegate
pattern for notifying tip prefrerence changed
- Xcode 7.1
- Swift 2.1
- Cocoapods 0.39.0
- FlatKit: for flag images
- BubbleTransition: for cool bubble presentation view controller transition
- Chameleon: for flat color
GIF created with LiceCap.