├── DemoBuisness.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── saifchaudhary.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ └── saifchaudhary.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ ├── DemoBuisness.xcscheme │ └── xcschememanagement.plist ├── DemoBuisness ├── AppDelegate.swift ├── Assets.xcassets │ ├── 3b48a74.imageset │ │ ├── 3b48a74.jpg │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ ├── fb_next.imageset │ │ ├── Contents.json │ │ ├── fb_next.png │ │ ├── fb_next@2x.png │ │ └── fb_next@3x.png │ ├── header_bg.imageset │ │ ├── Contents.json │ │ └── header_bg@2x.jpg │ ├── ic_add-1.imageset │ │ ├── Contents.json │ │ ├── ic_add.png │ │ ├── ic_add@2x.png │ │ └── ic_add@3x.png │ ├── ic_add.imageset │ │ ├── Contents.json │ │ ├── ic_add.png │ │ ├── ic_add@2x.png │ │ └── ic_add@3x.png │ ├── ic_add_business.imageset │ │ ├── Contents.json │ │ ├── ic_add_business.png │ │ ├── ic_add_business@2x.png │ │ └── ic_add_business@3x.png │ ├── ic_back_c.imageset │ │ ├── Contents.json │ │ ├── ic_back_c.png │ │ ├── ic_back_c@2x.png │ │ └── ic_back_c@3x.png │ ├── ic_back_w.imageset │ │ ├── Contents.json │ │ ├── ic_back_w.png │ │ ├── ic_back_w@2x.png │ │ └── ic_back_w@3x.png │ ├── ic_bars.imageset │ │ ├── Contents.json │ │ ├── ic_bars.png │ │ ├── ic_bars@2x.png │ │ └── ic_bars@3x.png │ ├── ic_bookmark_pressed.imageset │ │ ├── Contents.json │ │ ├── ic_bookmark_pressed.png │ │ ├── ic_bookmark_pressed@2x.png │ │ └── ic_bookmark_pressed@3x.png │ ├── ic_bookmark_stroke_c.imageset │ │ ├── Contents.json │ │ ├── ic_bookmark_stroke_c.png │ │ ├── ic_bookmark_stroke_c@2x.png │ │ └── ic_bookmark_stroke_c@3x.png │ ├── ic_bookmark_stroke_g.imageset │ │ ├── Contents.json │ │ ├── ic_bookmark_stroke_g.png │ │ ├── ic_bookmark_stroke_g@2x.png │ │ └── ic_bookmark_stroke_g@3x.png │ ├── ic_bookmark_stroke_w.imageset │ │ ├── Contents.json │ │ ├── ic_bookmark_stroke_w.png │ │ ├── ic_bookmark_stroke_w@2x.png │ │ └── ic_bookmark_stroke_w@3x.png │ ├── ic_business.imageset │ │ ├── Contents.json │ │ ├── ic_business.png │ │ ├── ic_business@2x.png │ │ └── ic_business@3x.png │ ├── ic_call.imageset │ │ ├── Contents.json │ │ ├── ic_call.png │ │ ├── ic_call@2x.png │ │ └── ic_call@3x.png │ ├── ic_credits.imageset │ │ ├── Contents.json │ │ ├── ic_credits.png │ │ ├── ic_credits@2x.png │ │ └── ic_credits@3x.png │ ├── ic_cross_c-1.imageset │ │ ├── Contents.json │ │ ├── ic_cross_c.png │ │ ├── ic_cross_c@2x.png │ │ └── ic_cross_c@3x.png │ ├── ic_cross_c.imageset │ │ ├── Contents.json │ │ ├── ic_cross_c.png │ │ ├── ic_cross_c@2x.png │ │ └── ic_cross_c@3x.png │ ├── ic_cross_w.imageset │ │ ├── Contents.json │ │ ├── ic_cross_w.png │ │ ├── ic_cross_w@2x.png │ │ └── ic_cross_w@3x.png │ ├── ic_dd_g.imageset │ │ ├── Contents.json │ │ ├── ic_dd_g.png │ │ ├── ic_dd_g@2x.png │ │ └── ic_dd_g@3x.png │ ├── ic_dd_w.imageset │ │ ├── Contents.json │ │ ├── ic_dd_w.png │ │ ├── ic_dd_w@2x.png │ │ └── ic_dd_w@3x.png │ ├── ic_directions.imageset │ │ ├── Contents.json │ │ ├── ic_directions.png │ │ ├── ic_directions@2x.png │ │ └── ic_directions@3x.png │ ├── ic_edit_business.imageset │ │ ├── Contents.json │ │ ├── ic_edit_business.png │ │ ├── ic_edit_business@2x.png │ │ └── ic_edit_business@3x.png │ ├── ic_fb-1.imageset │ │ ├── Contents.json │ │ ├── ic_fb.png │ │ ├── ic_fb@2x.png │ │ └── ic_fb@3x.png │ ├── ic_fb.imageset │ │ ├── Contents.json │ │ ├── ic_fb.png │ │ ├── ic_fb@2x.png │ │ └── ic_fb@3x.png │ ├── ic_fetch_loc.imageset │ │ ├── Contents.json │ │ ├── ic_fetch_loc.png │ │ ├── ic_fetch_loc@2x.png │ │ └── ic_fetch_loc@3x.png │ ├── ic_filters.imageset │ │ ├── Contents.json │ │ ├── ic_filters.png │ │ ├── ic_filters@2x.png │ │ └── ic_filters@3x.png │ ├── ic_home_normal.imageset │ │ ├── Contents.json │ │ ├── ic_home_normal.png │ │ ├── ic_home_normal@2x.png │ │ └── ic_home_normal@3x.png │ ├── ic_home_pressed.imageset │ │ ├── Contents.json │ │ ├── ic_home_pressed.png │ │ ├── ic_home_pressed@2x.png │ │ └── ic_home_pressed@3x.png │ ├── ic_info.imageset │ │ ├── Contents.json │ │ ├── ic_info.png │ │ ├── ic_info@2x.png │ │ └── ic_info@3x.png │ ├── ic_list_normal.imageset │ │ ├── Contents.json │ │ ├── ic_list_normal.png │ │ ├── ic_list_normal@2x.png │ │ └── ic_list_normal@3x.png │ ├── ic_list_pressed.imageset │ │ ├── Contents.json │ │ ├── ic_list_pressed.png │ │ ├── ic_list_pressed@2x.png │ │ └── ic_list_pressed@3x.png │ ├── ic_map_normal.imageset │ │ ├── Contents.json │ │ ├── ic_map_normal.png │ │ ├── ic_map_normal@2x.png │ │ └── ic_map_normal@3x.png │ ├── ic_map_pressed.imageset │ │ ├── Contents.json │ │ ├── ic_map_pressed.png │ │ ├── ic_map_pressed@2x.png │ │ └── ic_map_pressed@3x.png │ ├── ic_menu_call.imageset │ │ ├── Contents.json │ │ ├── ic_menu_call.png │ │ ├── ic_menu_call@2x.png │ │ └── ic_menu_call@3x.png │ ├── ic_menu_camera.imageset │ │ ├── Contents.json │ │ ├── ic_menu_camera.png │ │ ├── ic_menu_camera@2x.png │ │ └── ic_menu_camera@3x.png │ ├── ic_menu_directions.imageset │ │ ├── Contents.json │ │ ├── ic_menu_directions.png │ │ ├── ic_menu_directions@2x.png │ │ └── ic_menu_directions@3x.png │ ├── ic_menu_event.imageset │ │ ├── Contents.json │ │ ├── ic_menu_event.png │ │ ├── ic_menu_event@2x.png │ │ └── ic_menu_event@3x.png │ ├── ic_menu_review.imageset │ │ ├── Contents.json │ │ ├── ic_menu_review.png │ │ ├── ic_menu_review@2x.png │ │ └── ic_menu_review@3x.png │ ├── ic_nearby_normal.imageset │ │ ├── Contents.json │ │ ├── ic_nearby_normal.png │ │ ├── ic_nearby_normal@2x.png │ │ └── ic_nearby_normal@3x.png │ ├── ic_nearby_pressed.imageset │ │ ├── Contents.json │ │ ├── ic_nearby_pressed.png │ │ ├── ic_nearby_pressed@2x.png │ │ └── ic_nearby_pressed@3x.png │ ├── ic_photos.imageset │ │ ├── Contents.json │ │ ├── ic_photos.png │ │ ├── ic_photos@2x.png │ │ └── ic_photos@3x.png │ ├── ic_pin-1.imageset │ │ ├── Contents.json │ │ ├── ic_pin.png │ │ ├── ic_pin@2x.png │ │ └── ic_pin@3x.png │ ├── ic_pin.imageset │ │ ├── Contents.json │ │ ├── ic_pin.png │ │ ├── ic_pin@2x.png │ │ └── ic_pin@3x.png │ ├── ic_pin_2.imageset │ │ ├── Contents.json │ │ ├── ic_pin_2.png │ │ ├── ic_pin_2@2x.png │ │ └── ic_pin_2@3x.png │ ├── ic_profile_normal.imageset │ │ ├── Contents.json │ │ ├── ic_profile_normal.png │ │ ├── ic_profile_normal@2x.png │ │ └── ic_profile_normal@3x.png │ ├── ic_review-1.imageset │ │ ├── Contents.json │ │ ├── ic_review.png │ │ ├── ic_review@2x.png │ │ └── ic_review@3x.png │ ├── ic_review.imageset │ │ ├── Contents.json │ │ ├── ic_review.png │ │ ├── ic_review@2x.png │ │ └── ic_review@3x.png │ ├── ic_search location.imageset │ │ ├── Contents.json │ │ ├── ic_search location.png │ │ ├── ic_search location@2x.png │ │ └── ic_search location@3x.png │ ├── ic_search_normal.imageset │ │ ├── Contents.json │ │ ├── ic_search_normal.png │ │ ├── ic_search_normal@2x.png │ │ └── ic_search_normal@3x.png │ ├── ic_search_pressed.imageset │ │ ├── Contents.json │ │ ├── ic_search_pressed.png │ │ ├── ic_search_pressed@2x.png │ │ └── ic_search_pressed@3x.png │ ├── ic_settings-1.imageset │ │ ├── Contents.json │ │ ├── ic_settings.png │ │ ├── ic_settings@2x.png │ │ └── ic_settings@3x.png │ ├── ic_settings.imageset │ │ ├── Contents.json │ │ ├── ic_settings.png │ │ ├── ic_settings@2x.png │ │ └── ic_settings@3x.png │ ├── ic_share-1.imageset │ │ ├── Contents.json │ │ ├── ic_share.png │ │ ├── ic_share@2x.png │ │ └── ic_share@3x.png │ ├── ic_share.imageset │ │ ├── Contents.json │ │ ├── ic_share.png │ │ ├── ic_share@2x.png │ │ └── ic_share@3x.png │ ├── ic_sponsor-1.imageset │ │ ├── Contents.json │ │ ├── ic_sponsor.png │ │ ├── ic_sponsor@2x.png │ │ └── ic_sponsor@3x.png │ ├── ic_sponsor.imageset │ │ ├── Contents.json │ │ ├── ic_sponsor.png │ │ ├── ic_sponsor@2x.png │ │ └── ic_sponsor@3x.png │ ├── ic_star_big_fill-1.imageset │ │ ├── Contents.json │ │ ├── ic_star_big_fill.png │ │ ├── ic_star_big_fill@2x.png │ │ └── ic_star_big_fill@3x.png │ ├── ic_star_big_fill.imageset │ │ ├── Contents.json │ │ ├── ic_star_big_fill.png │ │ ├── ic_star_big_fill@2x.png │ │ └── ic_star_big_fill@3x.png │ ├── ic_star_big_stroke.imageset │ │ ├── Contents.json │ │ ├── ic_star_big_stroke.png │ │ ├── ic_star_big_stroke@2x.png │ │ └── ic_star_big_stroke@3x.png │ ├── ic_star_small_filled.imageset │ │ ├── Contents.json │ │ ├── ic_star_small_filled.png │ │ ├── ic_star_small_filled@2x.png │ │ └── ic_star_small_filled@3x.png │ ├── ic_star_small_grey.imageset │ │ ├── Contents.json │ │ ├── ic_star_small_grey.png │ │ ├── ic_star_small_grey@2x.png │ │ └── ic_star_small_grey@3x.png │ ├── illustration_w.imageset │ │ ├── Contents.json │ │ ├── illustration_w.png │ │ ├── illustration_w@2x.png │ │ └── illustration_w@3x.png │ ├── ilustration_c.imageset │ │ ├── Contents.json │ │ ├── ilustration_c.png │ │ ├── ilustration_c@2x.png │ │ └── ilustration_c@3x.png │ ├── images.imageset │ │ ├── Contents.json │ │ └── images.jpeg │ ├── imagesFree.imageset │ │ ├── Contents.json │ │ └── imagesFree.png │ ├── img_linear_overlay.imageset │ │ ├── Contents.json │ │ └── img_linear_overlay.png │ ├── img_overlay_black.imageset │ │ ├── Contents.json │ │ ├── img_overlay_black.png │ │ ├── img_overlay_black@2x.png │ │ └── img_overlay_black@3x.png │ ├── make-up.imageset │ │ ├── Contents.json │ │ └── make-up-for-ever-la-boutique-west-coast-flagship-store-robertson-boulevard-glamazons-blog-teaser.jpg │ ├── nothing found.imageset │ │ ├── Contents.json │ │ ├── nothing found.png │ │ ├── nothing found@2x.png │ │ └── nothing found@3x.png │ └── pin_selected.imageset │ │ ├── Contents.json │ │ ├── pin_selected.png │ │ ├── pin_selected@2x.png │ │ └── pin_selected@3x.png ├── AvatarImageView.swift ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── BuisnessDetailViewController 2.swift ├── BuisnessDetailViewController.swift ├── Cells │ ├── DealsCollectionViewCell.swift │ ├── DealsTableViewCell.swift │ ├── InfoTableViewCell.swift │ ├── PhotoTableViewCell.swift │ ├── ReviewsDynamicTableViewCell.swift │ └── ReviewsStaticTableViewCell.swift ├── Constants │ ├── CellIdentifiers.swift │ ├── Constants.swift │ ├── Images.swift │ ├── LocalizedStrings.swift │ ├── ScreenSize.swift │ ├── SegueIdentifiers.swift │ └── Storyboards.swift ├── DemoBuisness-Bridging-Header.h ├── FXBlurView.h ├── FXBlurView.m ├── Fonts │ ├── Gotham-Bold.otf │ ├── Gotham-Book.otf │ └── Gotham-Medium.otf ├── Info.plist ├── LinearProgressView │ └── LinearProgressView.swift ├── SWSegmentControl.swift └── TWTButton.swift └── README.md /DemoBuisness.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /DemoBuisness.xcodeproj/project.xcworkspace/xcuserdata/saifchaudhary.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness.xcodeproj/project.xcworkspace/xcuserdata/saifchaudhary.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /DemoBuisness.xcodeproj/xcuserdata/saifchaudhary.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /DemoBuisness.xcodeproj/xcuserdata/saifchaudhary.xcuserdatad/xcschemes/DemoBuisness.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /DemoBuisness.xcodeproj/xcuserdata/saifchaudhary.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | DemoBuisness.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | D403EEE61E338C9000A854D1 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /DemoBuisness/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // DemoBuisness 4 | // 5 | // Created by Saif Chaudhary on 1/21/17. 6 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | 17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 18 | // Override point for customization after application launch. 19 | return true 20 | } 21 | 22 | func applicationWillResignActive(_ application: UIApplication) { 23 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 24 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 25 | } 26 | 27 | func applicationDidEnterBackground(_ application: UIApplication) { 28 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 29 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 30 | } 31 | 32 | func applicationWillEnterForeground(_ application: UIApplication) { 33 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 34 | } 35 | 36 | func applicationDidBecomeActive(_ application: UIApplication) { 37 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 38 | } 39 | 40 | func applicationWillTerminate(_ application: UIApplication) { 41 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 42 | } 43 | 44 | 45 | } 46 | 47 | -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/3b48a74.imageset/3b48a74.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/3b48a74.imageset/3b48a74.jpg -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/3b48a74.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "3b48a74.jpg", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | } 43 | ], 44 | "info" : { 45 | "version" : 1, 46 | "author" : "xcode" 47 | } 48 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/fb_next.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "fb_next.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "fb_next@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "fb_next@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/fb_next.imageset/fb_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/fb_next.imageset/fb_next.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/fb_next.imageset/fb_next@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/fb_next.imageset/fb_next@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/fb_next.imageset/fb_next@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/fb_next.imageset/fb_next@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/header_bg.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x", 10 | "filename" : "header_bg@2x.jpg" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/header_bg.imageset/header_bg@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/header_bg.imageset/header_bg@2x.jpg -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_add.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_add@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_add@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add-1.imageset/ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_add-1.imageset/ic_add.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add-1.imageset/ic_add@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_add-1.imageset/ic_add@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add-1.imageset/ic_add@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_add-1.imageset/ic_add@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_add.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_add@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_add@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add.imageset/ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_add.imageset/ic_add.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add.imageset/ic_add@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_add.imageset/ic_add@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add.imageset/ic_add@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_add.imageset/ic_add@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add_business.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_add_business.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_add_business@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_add_business@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add_business.imageset/ic_add_business.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_add_business.imageset/ic_add_business.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add_business.imageset/ic_add_business@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_add_business.imageset/ic_add_business@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_add_business.imageset/ic_add_business@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_add_business.imageset/ic_add_business@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_back_c.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_back_c.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_back_c@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_back_c@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_back_c.imageset/ic_back_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_back_c.imageset/ic_back_c.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_back_c.imageset/ic_back_c@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_back_c.imageset/ic_back_c@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_back_c.imageset/ic_back_c@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_back_c.imageset/ic_back_c@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_back_w.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_back_w.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_back_w@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_back_w@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_back_w.imageset/ic_back_w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_back_w.imageset/ic_back_w.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_back_w.imageset/ic_back_w@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_back_w.imageset/ic_back_w@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_back_w.imageset/ic_back_w@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_back_w.imageset/ic_back_w@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bars.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_bars.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_bars@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_bars@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bars.imageset/ic_bars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bars.imageset/ic_bars.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bars.imageset/ic_bars@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bars.imageset/ic_bars@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bars.imageset/ic_bars@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bars.imageset/ic_bars@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_bookmark_pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_bookmark_pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_bookmark_pressed@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_pressed.imageset/ic_bookmark_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_pressed.imageset/ic_bookmark_pressed.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_pressed.imageset/ic_bookmark_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_pressed.imageset/ic_bookmark_pressed@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_pressed.imageset/ic_bookmark_pressed@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_pressed.imageset/ic_bookmark_pressed@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_c.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_bookmark_stroke_c.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_bookmark_stroke_c@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_bookmark_stroke_c@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_c.imageset/ic_bookmark_stroke_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_stroke_c.imageset/ic_bookmark_stroke_c.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_c.imageset/ic_bookmark_stroke_c@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_stroke_c.imageset/ic_bookmark_stroke_c@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_c.imageset/ic_bookmark_stroke_c@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_stroke_c.imageset/ic_bookmark_stroke_c@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_g.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_bookmark_stroke_g.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_bookmark_stroke_g@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_bookmark_stroke_g@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_g.imageset/ic_bookmark_stroke_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_stroke_g.imageset/ic_bookmark_stroke_g.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_g.imageset/ic_bookmark_stroke_g@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_stroke_g.imageset/ic_bookmark_stroke_g@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_g.imageset/ic_bookmark_stroke_g@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_stroke_g.imageset/ic_bookmark_stroke_g@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_w.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_bookmark_stroke_w.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_bookmark_stroke_w@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_bookmark_stroke_w@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_w.imageset/ic_bookmark_stroke_w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_stroke_w.imageset/ic_bookmark_stroke_w.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_w.imageset/ic_bookmark_stroke_w@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_stroke_w.imageset/ic_bookmark_stroke_w@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_bookmark_stroke_w.imageset/ic_bookmark_stroke_w@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_bookmark_stroke_w.imageset/ic_bookmark_stroke_w@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_business.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_business.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_business@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_business@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_business.imageset/ic_business.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_business.imageset/ic_business.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_business.imageset/ic_business@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_business.imageset/ic_business@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_business.imageset/ic_business@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_business.imageset/ic_business@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_call.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_call.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_call@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_call@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_call.imageset/ic_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_call.imageset/ic_call.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_call.imageset/ic_call@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_call.imageset/ic_call@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_call.imageset/ic_call@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_call.imageset/ic_call@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_credits.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_credits.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_credits@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_credits@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_credits.imageset/ic_credits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_credits.imageset/ic_credits.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_credits.imageset/ic_credits@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_credits.imageset/ic_credits@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_credits.imageset/ic_credits@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_credits.imageset/ic_credits@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_c-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_cross_c.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_cross_c@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_cross_c@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_c-1.imageset/ic_cross_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_cross_c-1.imageset/ic_cross_c.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_c-1.imageset/ic_cross_c@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_cross_c-1.imageset/ic_cross_c@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_c-1.imageset/ic_cross_c@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_cross_c-1.imageset/ic_cross_c@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_c.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_cross_c.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_cross_c@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_cross_c@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_c.imageset/ic_cross_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_cross_c.imageset/ic_cross_c.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_c.imageset/ic_cross_c@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_cross_c.imageset/ic_cross_c@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_c.imageset/ic_cross_c@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_cross_c.imageset/ic_cross_c@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_w.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_cross_w.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_cross_w@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_cross_w@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_w.imageset/ic_cross_w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_cross_w.imageset/ic_cross_w.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_w.imageset/ic_cross_w@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_cross_w.imageset/ic_cross_w@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_cross_w.imageset/ic_cross_w@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_cross_w.imageset/ic_cross_w@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_dd_g.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_dd_g.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_dd_g@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_dd_g@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_dd_g.imageset/ic_dd_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_dd_g.imageset/ic_dd_g.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_dd_g.imageset/ic_dd_g@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_dd_g.imageset/ic_dd_g@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_dd_g.imageset/ic_dd_g@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_dd_g.imageset/ic_dd_g@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_dd_w.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_dd_w.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_dd_w@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_dd_w@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_dd_w.imageset/ic_dd_w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_dd_w.imageset/ic_dd_w.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_dd_w.imageset/ic_dd_w@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_dd_w.imageset/ic_dd_w@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_dd_w.imageset/ic_dd_w@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_dd_w.imageset/ic_dd_w@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_directions.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_directions.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_directions@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_directions@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_directions.imageset/ic_directions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_directions.imageset/ic_directions.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_directions.imageset/ic_directions@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_directions.imageset/ic_directions@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_directions.imageset/ic_directions@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_directions.imageset/ic_directions@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_edit_business.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_edit_business.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_edit_business@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_edit_business@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_edit_business.imageset/ic_edit_business.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_edit_business.imageset/ic_edit_business.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_edit_business.imageset/ic_edit_business@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_edit_business.imageset/ic_edit_business@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_edit_business.imageset/ic_edit_business@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_edit_business.imageset/ic_edit_business@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fb-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_fb.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_fb@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_fb@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fb-1.imageset/ic_fb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_fb-1.imageset/ic_fb.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fb-1.imageset/ic_fb@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_fb-1.imageset/ic_fb@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fb-1.imageset/ic_fb@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_fb-1.imageset/ic_fb@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fb.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_fb.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_fb@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_fb@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fb.imageset/ic_fb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_fb.imageset/ic_fb.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fb.imageset/ic_fb@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_fb.imageset/ic_fb@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fb.imageset/ic_fb@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_fb.imageset/ic_fb@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fetch_loc.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_fetch_loc.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_fetch_loc@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_fetch_loc@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fetch_loc.imageset/ic_fetch_loc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_fetch_loc.imageset/ic_fetch_loc.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fetch_loc.imageset/ic_fetch_loc@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_fetch_loc.imageset/ic_fetch_loc@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_fetch_loc.imageset/ic_fetch_loc@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_fetch_loc.imageset/ic_fetch_loc@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_filters.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_filters.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_filters@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_filters@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_filters.imageset/ic_filters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_filters.imageset/ic_filters.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_filters.imageset/ic_filters@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_filters.imageset/ic_filters@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_filters.imageset/ic_filters@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_filters.imageset/ic_filters@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_home_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_home_normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_home_normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_home_normal@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | }, 23 | "properties" : { 24 | "template-rendering-intent" : "original" 25 | } 26 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_home_normal.imageset/ic_home_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_home_normal.imageset/ic_home_normal.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_home_normal.imageset/ic_home_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_home_normal.imageset/ic_home_normal@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_home_normal.imageset/ic_home_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_home_normal.imageset/ic_home_normal@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_home_pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_home_pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_home_pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_home_pressed@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | }, 23 | "properties" : { 24 | "template-rendering-intent" : "original" 25 | } 26 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_home_pressed.imageset/ic_home_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_home_pressed.imageset/ic_home_pressed.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_home_pressed.imageset/ic_home_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_home_pressed.imageset/ic_home_pressed@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_home_pressed.imageset/ic_home_pressed@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_home_pressed.imageset/ic_home_pressed@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_info.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_info.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_info@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_info@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_info.imageset/ic_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_info.imageset/ic_info.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_info.imageset/ic_info@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_info.imageset/ic_info@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_info.imageset/ic_info@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_info.imageset/ic_info@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_list_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_list_normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_list_normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_list_normal@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_list_normal.imageset/ic_list_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_list_normal.imageset/ic_list_normal.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_list_normal.imageset/ic_list_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_list_normal.imageset/ic_list_normal@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_list_normal.imageset/ic_list_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_list_normal.imageset/ic_list_normal@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_list_pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_list_pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_list_pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_list_pressed@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_list_pressed.imageset/ic_list_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_list_pressed.imageset/ic_list_pressed.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_list_pressed.imageset/ic_list_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_list_pressed.imageset/ic_list_pressed@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_list_pressed.imageset/ic_list_pressed@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_list_pressed.imageset/ic_list_pressed@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_map_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_map_normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_map_normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_map_normal@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_map_normal.imageset/ic_map_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_map_normal.imageset/ic_map_normal.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_map_normal.imageset/ic_map_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_map_normal.imageset/ic_map_normal@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_map_normal.imageset/ic_map_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_map_normal.imageset/ic_map_normal@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_map_pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_map_pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_map_pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_map_pressed@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_map_pressed.imageset/ic_map_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_map_pressed.imageset/ic_map_pressed.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_map_pressed.imageset/ic_map_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_map_pressed.imageset/ic_map_pressed@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_map_pressed.imageset/ic_map_pressed@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_map_pressed.imageset/ic_map_pressed@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_call.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_menu_call.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_menu_call@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_menu_call@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_call.imageset/ic_menu_call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_call.imageset/ic_menu_call.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_call.imageset/ic_menu_call@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_call.imageset/ic_menu_call@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_call.imageset/ic_menu_call@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_call.imageset/ic_menu_call@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_camera.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_menu_camera.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_menu_camera@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_menu_camera@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_camera.imageset/ic_menu_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_camera.imageset/ic_menu_camera.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_camera.imageset/ic_menu_camera@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_camera.imageset/ic_menu_camera@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_camera.imageset/ic_menu_camera@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_camera.imageset/ic_menu_camera@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_directions.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_menu_directions.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_menu_directions@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_menu_directions@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_directions.imageset/ic_menu_directions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_directions.imageset/ic_menu_directions.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_directions.imageset/ic_menu_directions@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_directions.imageset/ic_menu_directions@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_directions.imageset/ic_menu_directions@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_directions.imageset/ic_menu_directions@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_event.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_menu_event.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_menu_event@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_menu_event@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_event.imageset/ic_menu_event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_event.imageset/ic_menu_event.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_event.imageset/ic_menu_event@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_event.imageset/ic_menu_event@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_event.imageset/ic_menu_event@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_event.imageset/ic_menu_event@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_review.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_menu_review.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_menu_review@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_menu_review@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_review.imageset/ic_menu_review.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_review.imageset/ic_menu_review.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_review.imageset/ic_menu_review@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_review.imageset/ic_menu_review@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_menu_review.imageset/ic_menu_review@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_menu_review.imageset/ic_menu_review@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_nearby_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_nearby_normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_nearby_normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_nearby_normal@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_nearby_normal.imageset/ic_nearby_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_nearby_normal.imageset/ic_nearby_normal.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_nearby_normal.imageset/ic_nearby_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_nearby_normal.imageset/ic_nearby_normal@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_nearby_normal.imageset/ic_nearby_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_nearby_normal.imageset/ic_nearby_normal@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_nearby_pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_nearby_pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_nearby_pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_nearby_pressed@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_nearby_pressed.imageset/ic_nearby_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_nearby_pressed.imageset/ic_nearby_pressed.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_nearby_pressed.imageset/ic_nearby_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_nearby_pressed.imageset/ic_nearby_pressed@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_nearby_pressed.imageset/ic_nearby_pressed@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_nearby_pressed.imageset/ic_nearby_pressed@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_photos.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_photos.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_photos@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_photos@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_photos.imageset/ic_photos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_photos.imageset/ic_photos.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_photos.imageset/ic_photos@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_photos.imageset/ic_photos@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_photos.imageset/ic_photos@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_photos.imageset/ic_photos@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_pin.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_pin@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_pin@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin-1.imageset/ic_pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_pin-1.imageset/ic_pin.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin-1.imageset/ic_pin@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_pin-1.imageset/ic_pin@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin-1.imageset/ic_pin@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_pin-1.imageset/ic_pin@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_pin.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_pin@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_pin@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin.imageset/ic_pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_pin.imageset/ic_pin.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin.imageset/ic_pin@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_pin.imageset/ic_pin@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin.imageset/ic_pin@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_pin.imageset/ic_pin@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin_2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_pin_2.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_pin_2@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_pin_2@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin_2.imageset/ic_pin_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_pin_2.imageset/ic_pin_2.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin_2.imageset/ic_pin_2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_pin_2.imageset/ic_pin_2@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_pin_2.imageset/ic_pin_2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_pin_2.imageset/ic_pin_2@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_profile_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_profile_normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_profile_normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_profile_normal@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_profile_normal.imageset/ic_profile_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_profile_normal.imageset/ic_profile_normal.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_profile_normal.imageset/ic_profile_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_profile_normal.imageset/ic_profile_normal@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_profile_normal.imageset/ic_profile_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_profile_normal.imageset/ic_profile_normal@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_review-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_review.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_review@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_review@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_review-1.imageset/ic_review.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_review-1.imageset/ic_review.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_review-1.imageset/ic_review@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_review-1.imageset/ic_review@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_review-1.imageset/ic_review@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_review-1.imageset/ic_review@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_review.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_review.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_review@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_review@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_review.imageset/ic_review.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_review.imageset/ic_review.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_review.imageset/ic_review@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_review.imageset/ic_review@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_review.imageset/ic_review@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_review.imageset/ic_review@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search location.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_search location.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_search location@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_search location@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search location.imageset/ic_search location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_search location.imageset/ic_search location.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search location.imageset/ic_search location@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_search location.imageset/ic_search location@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search location.imageset/ic_search location@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_search location.imageset/ic_search location@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_search_normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_search_normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_search_normal@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | }, 23 | "properties" : { 24 | "template-rendering-intent" : "original" 25 | } 26 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search_normal.imageset/ic_search_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_search_normal.imageset/ic_search_normal.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search_normal.imageset/ic_search_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_search_normal.imageset/ic_search_normal@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search_normal.imageset/ic_search_normal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_search_normal.imageset/ic_search_normal@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search_pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_search_pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_search_pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_search_pressed@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | }, 23 | "properties" : { 24 | "template-rendering-intent" : "original" 25 | } 26 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search_pressed.imageset/ic_search_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_search_pressed.imageset/ic_search_pressed.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search_pressed.imageset/ic_search_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_search_pressed.imageset/ic_search_pressed@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_search_pressed.imageset/ic_search_pressed@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_search_pressed.imageset/ic_search_pressed@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_settings-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_settings.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_settings@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_settings@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_settings-1.imageset/ic_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_settings-1.imageset/ic_settings.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_settings-1.imageset/ic_settings@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_settings-1.imageset/ic_settings@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_settings-1.imageset/ic_settings@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_settings-1.imageset/ic_settings@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_settings.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_settings.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_settings@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_settings@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_settings.imageset/ic_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_settings.imageset/ic_settings.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_settings.imageset/ic_settings@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_settings.imageset/ic_settings@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_settings.imageset/ic_settings@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_settings.imageset/ic_settings@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_share-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_share.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_share@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_share@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_share-1.imageset/ic_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_share-1.imageset/ic_share.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_share-1.imageset/ic_share@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_share-1.imageset/ic_share@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_share-1.imageset/ic_share@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_share-1.imageset/ic_share@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_share.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_share.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_share@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_share@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_share.imageset/ic_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_share.imageset/ic_share.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_share.imageset/ic_share@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_share.imageset/ic_share@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_share.imageset/ic_share@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_share.imageset/ic_share@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_sponsor-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_sponsor.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_sponsor@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_sponsor@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_sponsor-1.imageset/ic_sponsor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_sponsor-1.imageset/ic_sponsor.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_sponsor-1.imageset/ic_sponsor@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_sponsor-1.imageset/ic_sponsor@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_sponsor-1.imageset/ic_sponsor@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_sponsor-1.imageset/ic_sponsor@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_sponsor.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_sponsor.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_sponsor@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_sponsor@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_sponsor.imageset/ic_sponsor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_sponsor.imageset/ic_sponsor.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_sponsor.imageset/ic_sponsor@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_sponsor.imageset/ic_sponsor@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_sponsor.imageset/ic_sponsor@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_sponsor.imageset/ic_sponsor@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_fill-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_star_big_fill.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_star_big_fill@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_star_big_fill@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_fill-1.imageset/ic_star_big_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_big_fill-1.imageset/ic_star_big_fill.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_fill-1.imageset/ic_star_big_fill@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_big_fill-1.imageset/ic_star_big_fill@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_fill-1.imageset/ic_star_big_fill@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_big_fill-1.imageset/ic_star_big_fill@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_fill.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_star_big_fill.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_star_big_fill@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_star_big_fill@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_fill.imageset/ic_star_big_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_big_fill.imageset/ic_star_big_fill.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_fill.imageset/ic_star_big_fill@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_big_fill.imageset/ic_star_big_fill@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_fill.imageset/ic_star_big_fill@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_big_fill.imageset/ic_star_big_fill@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_stroke.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_star_big_stroke.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_star_big_stroke@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_star_big_stroke@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_stroke.imageset/ic_star_big_stroke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_big_stroke.imageset/ic_star_big_stroke.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_stroke.imageset/ic_star_big_stroke@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_big_stroke.imageset/ic_star_big_stroke@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_big_stroke.imageset/ic_star_big_stroke@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_big_stroke.imageset/ic_star_big_stroke@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_small_filled.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_star_small_filled.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_star_small_filled@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_star_small_filled@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_small_filled.imageset/ic_star_small_filled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_small_filled.imageset/ic_star_small_filled.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_small_filled.imageset/ic_star_small_filled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_small_filled.imageset/ic_star_small_filled@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_small_filled.imageset/ic_star_small_filled@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_small_filled.imageset/ic_star_small_filled@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_small_grey.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_star_small_grey.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_star_small_grey@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_star_small_grey@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_small_grey.imageset/ic_star_small_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_small_grey.imageset/ic_star_small_grey.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_small_grey.imageset/ic_star_small_grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_small_grey.imageset/ic_star_small_grey@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ic_star_small_grey.imageset/ic_star_small_grey@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ic_star_small_grey.imageset/ic_star_small_grey@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/illustration_w.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "illustration_w.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "illustration_w@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "illustration_w@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/illustration_w.imageset/illustration_w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/illustration_w.imageset/illustration_w.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/illustration_w.imageset/illustration_w@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/illustration_w.imageset/illustration_w@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/illustration_w.imageset/illustration_w@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/illustration_w.imageset/illustration_w@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ilustration_c.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ilustration_c.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ilustration_c@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ilustration_c@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ilustration_c.imageset/ilustration_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ilustration_c.imageset/ilustration_c.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ilustration_c.imageset/ilustration_c@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ilustration_c.imageset/ilustration_c@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/ilustration_c.imageset/ilustration_c@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/ilustration_c.imageset/ilustration_c@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/images.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "images.jpeg", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/images.imageset/images.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/images.imageset/images.jpeg -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/imagesFree.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "imagesFree.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/imagesFree.imageset/imagesFree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/imagesFree.imageset/imagesFree.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/img_linear_overlay.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "img_linear_overlay.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/img_linear_overlay.imageset/img_linear_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/img_linear_overlay.imageset/img_linear_overlay.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/img_overlay_black.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "img_overlay_black.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "img_overlay_black@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "img_overlay_black@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/img_overlay_black.imageset/img_overlay_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/img_overlay_black.imageset/img_overlay_black.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/img_overlay_black.imageset/img_overlay_black@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/img_overlay_black.imageset/img_overlay_black@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/img_overlay_black.imageset/img_overlay_black@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/img_overlay_black.imageset/img_overlay_black@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/make-up.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "make-up-for-ever-la-boutique-west-coast-flagship-store-robertson-boulevard-glamazons-blog-teaser.jpg", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/make-up.imageset/make-up-for-ever-la-boutique-west-coast-flagship-store-robertson-boulevard-glamazons-blog-teaser.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/make-up.imageset/make-up-for-ever-la-boutique-west-coast-flagship-store-robertson-boulevard-glamazons-blog-teaser.jpg -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/nothing found.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "nothing found.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "nothing found@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "nothing found@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/nothing found.imageset/nothing found.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/nothing found.imageset/nothing found.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/nothing found.imageset/nothing found@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/nothing found.imageset/nothing found@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/nothing found.imageset/nothing found@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/nothing found.imageset/nothing found@3x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/pin_selected.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "pin_selected.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "pin_selected@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "pin_selected@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/pin_selected.imageset/pin_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/pin_selected.imageset/pin_selected.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/pin_selected.imageset/pin_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/pin_selected.imageset/pin_selected@2x.png -------------------------------------------------------------------------------- /DemoBuisness/Assets.xcassets/pin_selected.imageset/pin_selected@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Assets.xcassets/pin_selected.imageset/pin_selected@3x.png -------------------------------------------------------------------------------- /DemoBuisness/AvatarImageView.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | 3 | class AvatarImageView: UIImageView { 4 | 5 | override func awakeFromNib() { 6 | self.layer.cornerRadius = 10.0 7 | self.layer.borderColor = UIColor.white.cgColor 8 | self.layer.borderWidth = 3.0 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /DemoBuisness/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /DemoBuisness/BuisnessDetailViewController 2.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BuisnessDetailViewController.swift 3 | // Aybiz 4 | // 5 | // Created by cbl16 on 11/3/16. 6 | // Copyright © 2016 Codebrew. All rights reserved. 7 | // 8 | 9 | 10 | 11 | 12 | import UIKit 13 | 14 | let offset_HeaderStop:CGFloat = 250 - 64 // At this offset the Header stops its transformations 15 | let distance_W_LabelHeader:CGFloat = 30.0 // The distance between the top of the screen and the top of the White Label 16 | 17 | 18 | enum contentTypes { 19 | case tweets, media 20 | } 21 | 22 | class BuisnessDetailViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate { 23 | 24 | // MARK: Outlet properties 25 | 26 | @IBOutlet var tableView : UITableView!{ 27 | didSet{ 28 | tableView?.delegate = self 29 | tableView?.dataSource = self 30 | } 31 | } 32 | @IBOutlet var headerView : UIView! 33 | @IBOutlet var profileView : UIView! 34 | @IBOutlet var segmentedView : UIView! 35 | @IBOutlet var avatarImage:UIImageView! 36 | @IBOutlet var handleLabel : UILabel! 37 | @IBOutlet var headerLabel : UILabel! 38 | 39 | // MARK: class properties 40 | 41 | var headerBlurImageView:UIImageView! 42 | var headerImageView:UIImageView! 43 | var contentToDisplay : contentTypes = .tweets 44 | 45 | // MARK: The view 46 | 47 | override func viewDidLoad() { 48 | super.viewDidLoad() 49 | // Do any additional setup after loading the view, typically from a nib. 50 | 51 | tableView.contentInset = UIEdgeInsetsMake(headerView.frame.height, 0, 0, 0) 52 | headerImageView = UIImageView(frame: headerView.bounds) 53 | headerImageView?.image = UIImage(named: "images") 54 | headerImageView?.contentMode = UIViewContentMode.scaleAspectFill 55 | headerView.insertSubview(headerImageView, belowSubview: headerLabel) 56 | 57 | // Header - Blurred Image 58 | headerBlurImageView = UIImageView(frame: headerView.bounds) 59 | headerBlurImageView?.image = UIImage(named: "images")?.blurredImage(withRadius: 10, iterations: 20, tintColor: UIColor.clear) 60 | headerBlurImageView?.contentMode = UIViewContentMode.scaleAspectFill 61 | headerBlurImageView?.alpha = 0.0 62 | headerView.insertSubview(headerBlurImageView, belowSubview: headerLabel) 63 | 64 | headerView.clipsToBounds = true 65 | 66 | } 67 | 68 | override func viewDidAppear(_ animated: Bool) { 69 | 70 | // Header - Image 71 | print(headerView) 72 | 73 | 74 | } 75 | 76 | override func didReceiveMemoryWarning() { 77 | super.didReceiveMemoryWarning() 78 | // Dispose of any resources that can be recreated. 79 | } 80 | 81 | // MARK: Table view processing 82 | 83 | func numberOfSections(in tableView: UITableView) -> Int { 84 | return 1 85 | } 86 | 87 | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 88 | 89 | switch contentToDisplay { 90 | case .tweets: 91 | return 40 92 | 93 | case .media: 94 | return 20 95 | } 96 | 97 | } 98 | 99 | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 100 | let cell = UITableViewCell() 101 | 102 | 103 | switch contentToDisplay { 104 | case .tweets: 105 | cell.textLabel?.text = "Tweet Tweet!" 106 | 107 | case .media: 108 | cell.textLabel?.text = "Piccies!" 109 | cell.imageView?.image = UIImage(named: "header_bg") 110 | } 111 | 112 | 113 | 114 | return cell 115 | } 116 | 117 | // MARK: Scroll view delegate 118 | 119 | func scrollViewDidScroll(_ scrollView: UIScrollView) { 120 | 121 | let offset = scrollView.contentOffset.y + headerView.bounds.height 122 | 123 | var avatarTransform = CATransform3DIdentity 124 | var headerTransform = CATransform3DIdentity 125 | 126 | // PULL DOWN ----------------- 127 | 128 | if offset < 0 { 129 | 130 | let headerScaleFactor:CGFloat = -(offset) / headerView.bounds.height 131 | let headerSizevariation = ((headerView.bounds.height * (1.0 + headerScaleFactor)) - headerView.bounds.height)/2 132 | headerTransform = CATransform3DTranslate(headerTransform, 0, headerSizevariation, 0) 133 | headerTransform = CATransform3DScale(headerTransform, 1.0 + headerScaleFactor, 1.0 + headerScaleFactor, 0) 134 | 135 | 136 | // Hide views if scrolled super fast 137 | headerView.layer.zPosition = 0 138 | headerLabel.isHidden = true 139 | 140 | } 141 | 142 | // SCROLL UP/DOWN ------------ 143 | 144 | else { 145 | 146 | // Header ----------- 147 | 148 | headerTransform = CATransform3DTranslate(headerTransform, 0, max(-offset_HeaderStop, -offset), 0) 149 | 150 | // ------------ Label 151 | 152 | headerLabel.isHidden = false 153 | let alignToNameLabel = -offset + handleLabel.frame.origin.y + headerView.frame.height + offset_HeaderStop 154 | 155 | headerLabel.frame.origin = CGPoint(x: headerLabel.frame.origin.x, y: max(alignToNameLabel, distance_W_LabelHeader + offset_HeaderStop)) 156 | 157 | 158 | // ------------ Blur 159 | 160 | headerBlurImageView?.alpha = min (1.0, (offset - alignToNameLabel)/distance_W_LabelHeader) 161 | 162 | // Avatar ----------- 163 | 164 | let avatarScaleFactor = (min(offset_HeaderStop, offset)) / avatarImage.bounds.height / 1.4 // Slow down the animation 165 | let avatarSizeVariation = ((avatarImage.bounds.height * (1.0 + avatarScaleFactor)) - avatarImage.bounds.height) / 2.0 166 | avatarTransform = CATransform3DTranslate(avatarTransform, 0, avatarSizeVariation, 0) 167 | avatarTransform = CATransform3DScale(avatarTransform, 1.0 - avatarScaleFactor, 1.0 - avatarScaleFactor, 0) 168 | 169 | if offset <= offset_HeaderStop { 170 | 171 | if avatarImage.layer.zPosition < headerView.layer.zPosition{ 172 | headerView.layer.zPosition = 0 173 | } 174 | 175 | 176 | }else { 177 | if avatarImage.layer.zPosition >= headerView.layer.zPosition{ 178 | headerView.layer.zPosition = 2 179 | } 180 | 181 | } 182 | 183 | } 184 | 185 | // Apply Transformations 186 | headerView.layer.transform = headerTransform 187 | avatarImage.layer.transform = avatarTransform 188 | 189 | // Segment control 190 | 191 | let segmentViewOffset = profileView.frame.height - segmentedView.frame.height - offset 192 | 193 | var segmentTransform = CATransform3DIdentity 194 | 195 | // Scroll the segment view until its offset reaches the same offset at which the header stopped shrinking 196 | segmentTransform = CATransform3DTranslate(segmentTransform, 0, max(segmentViewOffset, -offset_HeaderStop), 0) 197 | 198 | segmentedView.layer.transform = segmentTransform 199 | 200 | 201 | // Set scroll view insets just underneath the segment control 202 | tableView.scrollIndicatorInsets = UIEdgeInsetsMake(segmentedView.frame.maxY, 0, 0, 0) 203 | 204 | 205 | 206 | } 207 | 208 | // MARK: Interface buttons 209 | 210 | @IBAction func selectContentType(_ sender: UISegmentedControl) { 211 | 212 | // crap code I know 213 | if sender.selectedSegmentIndex == 0 { 214 | contentToDisplay = .tweets 215 | } 216 | else { 217 | contentToDisplay = .media 218 | } 219 | 220 | tableView.reloadData() 221 | } 222 | 223 | 224 | @IBAction func shamelessActionThatNowBringsYouToDeansTwitterProfile() { 225 | 226 | if !UIApplication.shared.openURL(URL(string:"twitter://user?screen_name=deanbrindley87")!){ 227 | UIApplication.shared.openURL(URL(string:"https://twitter.com/deanbrindley87")!) 228 | } 229 | } 230 | 231 | } 232 | 233 | 234 | -------------------------------------------------------------------------------- /DemoBuisness/BuisnessDetailViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // Twitter User Interface 4 | // Created by Saif Chaudhary on 1/22/17. 5 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 6 | 7 | import UIKit 8 | 9 | 10 | let offset_HeaderStop:CGFloat = 200 - 64 // At this offset the Header stops its transformations 11 | let distance_W_LabelHeader:CGFloat = 30.0 // The distance between the top of the screen and the top of the White Label 12 | 13 | enum contentTypes { 14 | case tweets, media 15 | } 16 | 17 | class BuisnessDetailViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate { 18 | 19 | // MARK: Outlet properties 20 | 21 | 22 | 23 | @IBOutlet var tableView : UITableView!{ 24 | didSet{ 25 | tableView.estimatedRowHeight = 100 26 | } 27 | } 28 | @IBOutlet weak var imageViewBookmark: UIImageView! 29 | @IBOutlet weak var viewBookMark: UIView! 30 | @IBOutlet weak var labelOpensNows: UILabel! 31 | @IBOutlet weak var btnReviews: UIButton! 32 | @IBOutlet weak var labelCat: UILabel! 33 | @IBOutlet var headerView : UIView! 34 | @IBOutlet var profileView : UIView! 35 | @IBOutlet var segmentedView : UIView! 36 | @IBOutlet var avatarImage:UIButton! 37 | @IBOutlet var handleLabel : UILabel! 38 | @IBOutlet var headerLabel : UILabel! 39 | 40 | // MARK: class properties 41 | 42 | var headerBlurImageView:UIImageView! 43 | var headerImageView:UIImageView! 44 | @IBOutlet weak var constarintHeightHeaerImages: NSLayoutConstraint! 45 | var contentToDisplay : contentTypes = .tweets 46 | 47 | // MARK: The view 48 | 49 | override func viewDidLoad() { 50 | super.viewDidLoad() 51 | // Do any additional setup after loading the view, typically from a nib. 52 | 53 | tableView.contentInset = UIEdgeInsetsMake(headerView.frame.height, 0, 0, 0) 54 | //constarintHeightHeaerImages.constant = UIScreen.main.bounds.width * 0.568 55 | } 56 | 57 | override func viewDidAppear(_ animated: Bool) { 58 | 59 | // Header - Image 60 | 61 | headerImageView = UIImageView(frame: headerView.bounds) 62 | headerImageView?.image = UIImage(named: "header_bg") 63 | headerImageView?.contentMode = UIViewContentMode.scaleAspectFill 64 | headerView.insertSubview(headerImageView, belowSubview: headerLabel) 65 | 66 | // Header - Blurred Image 67 | headerBlurImageView = UIImageView(frame: headerView.bounds) 68 | headerBlurImageView?.image = UIImage(named: "header_bg")?.blurredImage(withRadius: 10, iterations: 20, tintColor: UIColor.clear) 69 | headerBlurImageView?.contentMode = UIViewContentMode.scaleAspectFill 70 | headerBlurImageView?.alpha = 0.0 71 | headerView.insertSubview(headerBlurImageView, belowSubview: headerLabel) 72 | let btn = UIButton(frame: CGRect(x: 4, y: 20, width: 44, height: 44)) 73 | btn.setImage(UIImage(named: "ic_back_w"), for: .normal) 74 | 75 | UIApplication.shared.keyWindow?.addSubview(btn) 76 | 77 | //headerView.insertSubview(btn, belowSubview: headerLabel) 78 | 79 | headerView.clipsToBounds = true 80 | 81 | } 82 | 83 | override func didReceiveMemoryWarning() { 84 | super.didReceiveMemoryWarning() 85 | // Dispose of any resources that can be recreated. 86 | } 87 | 88 | // MARK: Table view processing 89 | 90 | func numberOfSections(in tableView: UITableView) -> Int { 91 | return 5 92 | } 93 | 94 | 95 | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 96 | 97 | 98 | if section == 0 || section == 2 || section == 3 || section == 4{ 99 | return 1 100 | }else { 101 | 102 | return 3 103 | } 104 | 105 | } 106 | 107 | func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 108 | 109 | return indexPath.section == 4 ? ScreenSize.SCREEN_WIDTH * 0.5628 + 32 : UITableViewAutomaticDimension 110 | } 111 | 112 | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 113 | 114 | if indexPath.section == 0 { 115 | let cell = tableView.dequeueReusableCell(withIdentifier: "ReviewStaticCell", for: indexPath) 116 | 117 | return cell 118 | } 119 | else if indexPath.section == 2 { 120 | let cell = tableView.dequeueReusableCell(withIdentifier: "InfoCell", for: indexPath) 121 | 122 | return cell 123 | } 124 | 125 | else if indexPath.section == 3 { 126 | let cell = tableView.dequeueReusableCell(withIdentifier: "PhotoCell", for: indexPath) 127 | 128 | return cell 129 | } 130 | 131 | else if indexPath.section == 4 { 132 | let cell = tableView.dequeueReusableCell(withIdentifier: "DealsCell", for: indexPath) 133 | 134 | return cell 135 | } 136 | 137 | else{ 138 | let cell = tableView.dequeueReusableCell(withIdentifier: "ReviewDynamicCell", for: indexPath) 139 | 140 | return cell 141 | } 142 | 143 | 144 | 145 | } 146 | 147 | // MARK: Scroll view delegate 148 | 149 | func scrollViewDidScroll(_ scrollView: UIScrollView) { 150 | 151 | let offset = scrollView.contentOffset.y + headerView.bounds.height 152 | 153 | var avatarTransform = CATransform3DIdentity 154 | var headerTransform = CATransform3DIdentity 155 | 156 | // PULL DOWN ----------------- 157 | 158 | if offset < 0 { 159 | 160 | let headerScaleFactor:CGFloat = -(offset) / headerView.bounds.height 161 | let headerSizevariation = ((headerView.bounds.height * (1.0 + headerScaleFactor)) - headerView.bounds.height)/2 162 | headerTransform = CATransform3DTranslate(headerTransform, 0, headerSizevariation, 0) 163 | headerTransform = CATransform3DScale(headerTransform, 1.0 + headerScaleFactor, 1.0 + headerScaleFactor, 0) 164 | 165 | 166 | // Hide views if scrolled super fast 167 | headerView.layer.zPosition = 0 168 | headerLabel.isHidden = true 169 | 170 | } 171 | 172 | // SCROLL UP/DOWN ------------ 173 | 174 | else { 175 | 176 | // Header ----------- 177 | 178 | headerTransform = CATransform3DTranslate(headerTransform, 0, max(-offset_HeaderStop, -offset), 0) 179 | 180 | // ------------ Label 181 | 182 | headerLabel.isHidden = false 183 | let alignToNameLabel = -offset + handleLabel.frame.origin.y + headerView.frame.height + offset_HeaderStop 184 | 185 | headerLabel.frame.origin = CGPoint(x: headerLabel.frame.origin.x, y: max(alignToNameLabel, distance_W_LabelHeader + offset_HeaderStop)) 186 | 187 | 188 | // ------------ Blur 189 | 190 | headerBlurImageView?.alpha = min (1.0, (offset - alignToNameLabel)/distance_W_LabelHeader) 191 | 192 | // Avatar ----------- 193 | 194 | let avatarScaleFactor = (min(offset_HeaderStop, offset)) / avatarImage.bounds.height / 9.4 // Slow down the animation 195 | print(avatarScaleFactor) 196 | 197 | let avatarSizeVariation = ((avatarImage.bounds.height * (1.0 + avatarScaleFactor)) - avatarImage.bounds.height) / 2.0 198 | print(avatarSizeVariation) 199 | 200 | avatarTransform = CATransform3DTranslate(avatarTransform, 0, avatarSizeVariation, 0) 201 | avatarTransform = CATransform3DScale(avatarTransform, 1.0 - avatarScaleFactor, 1.0 - avatarScaleFactor, 0) 202 | 203 | if offset <= offset_HeaderStop { 204 | 205 | if avatarImage.layer.zPosition < headerView.layer.zPosition{ 206 | headerView.layer.zPosition = 0 207 | } 208 | 209 | 210 | }else { 211 | if avatarImage.layer.zPosition >= headerView.layer.zPosition{ 212 | headerView.layer.zPosition = 2 213 | } 214 | 215 | } 216 | 217 | } 218 | 219 | // Apply Transformations 220 | headerView.layer.transform = headerTransform 221 | avatarImage.layer.transform = avatarTransform 222 | 223 | // Segment control 224 | 225 | let segmentViewOffset = profileView.frame.height - segmentedView.frame.height - offset 226 | 227 | var segmentTransform = CATransform3DIdentity 228 | 229 | // Scroll the segment view until its offset reaches the same offset at which the header stopped shrinking 230 | segmentTransform = CATransform3DTranslate(segmentTransform, 0, max(segmentViewOffset, -offset_HeaderStop), 0) 231 | 232 | segmentedView.layer.transform = segmentTransform 233 | 234 | 235 | // Set scroll view insets just underneath the segment control 236 | tableView.scrollIndicatorInsets = UIEdgeInsetsMake(segmentedView.frame.maxY, 0, 0, 0) 237 | 238 | 239 | 240 | } 241 | 242 | // MARK: Interface buttons 243 | 244 | @IBAction func selectContentType(_ sender: UISegmentedControl) { 245 | 246 | // crap code I know 247 | if sender.selectedSegmentIndex == 0 { 248 | contentToDisplay = .tweets 249 | } 250 | else { 251 | contentToDisplay = .media 252 | } 253 | 254 | tableView.reloadData() 255 | } 256 | 257 | 258 | @IBAction func shamelessActionThatNowBringsYouToDeansTwitterProfile() { 259 | 260 | if !UIApplication.shared.openURL(URL(string:"twitter://user?screen_name=deanbrindley87")!){ 261 | UIApplication.shared.openURL(URL(string:"https://twitter.com/deanbrindley87")!) 262 | } 263 | } 264 | 265 | } 266 | 267 | -------------------------------------------------------------------------------- /DemoBuisness/Cells/DealsCollectionViewCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DealsCollectionViewCell.swift 3 | // DemoBuisness 4 | // 5 | // Created by Saif Chaudhary on 1/23/17. 6 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class DealsCollectionViewCell: UICollectionViewCell { 12 | @IBOutlet weak var imageViewDeals: UIImageView! 13 | @IBOutlet weak var labelDealTitle: UILabel! 14 | @IBOutlet weak var labelTime: UILabel! 15 | @IBOutlet weak var labelCutDiscount: UILabel! 16 | @IBOutlet weak var labelDiscount: UILabel! 17 | 18 | } 19 | -------------------------------------------------------------------------------- /DemoBuisness/Cells/DealsTableViewCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DealsTableViewCell.swift 3 | // DemoBuisness 4 | // 5 | // Created by Saif Chaudhary on 1/23/17. 6 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class DealsTableViewCell: UITableViewCell { 12 | 13 | @IBOutlet weak var constraintHeightCollectionView: NSLayoutConstraint! 14 | @IBOutlet weak var labelDeals: UILabel! 15 | @IBOutlet weak var collectionView: UICollectionView!{ 16 | didSet{ 17 | collectionView.contentInset = UIEdgeInsetsMake(0, 16, 0, 0) 18 | } 19 | } 20 | override func awakeFromNib() { 21 | super.awakeFromNib() 22 | constraintHeightCollectionView.constant = ScreenSize.SCREEN_WIDTH * 0.48 23 | // Initialization code 24 | } 25 | 26 | override func setSelected(_ selected: Bool, animated: Bool) { 27 | super.setSelected(selected, animated: animated) 28 | 29 | // Configure the view for the selected state 30 | } 31 | 32 | } 33 | 34 | 35 | extension DealsTableViewCell : UICollectionViewDelegate , UICollectionViewDataSource{ 36 | 37 | func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 38 | 39 | 40 | let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "DealsCollectionViewCell" , 41 | for: indexPath) 42 | 43 | return cell 44 | 45 | } 46 | 47 | func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 48 | return 10 49 | } 50 | 51 | func numberOfSections(in collectionView: UICollectionView) -> Int{ 52 | 53 | return 1 54 | } 55 | 56 | 57 | 58 | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 59 | 60 | } 61 | 62 | 63 | 64 | } 65 | 66 | 67 | extension DealsTableViewCell : UICollectionViewDelegateFlowLayout{ 68 | 69 | func collectionView(_ collectionView: UICollectionView, 70 | layout collectionViewLayout: UICollectionViewLayout, 71 | sizeForItemAt indexPath: IndexPath) -> CGSize { 72 | 73 | 74 | let screenwith = ScreenSize.SCREEN_WIDTH 75 | let colum:Float = 2.0, spacing:Float = 8.0; 76 | let value = floorf((Float(screenwith) - (colum - 1) * spacing) / colum) 77 | let cellHeight = screenwith*0.48 78 | let cellWidth = CGFloat(value + (value / 1.3 )) 79 | 80 | 81 | return CGSize(width: cellWidth, height: cellHeight) 82 | 83 | } 84 | 85 | 86 | 87 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets{ 88 | 89 | return UIEdgeInsetsMake(0, 0, 0, 0) 90 | } 91 | 92 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat{ 93 | 94 | return 8 95 | } 96 | 97 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat{ 98 | 99 | return 0 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /DemoBuisness/Cells/InfoTableViewCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // InfoTableViewCell.swift 3 | // DemoBuisness 4 | // 5 | // Created by Saif Chaudhary on 1/23/17. 6 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class InfoTableViewCell: UITableViewCell { 12 | 13 | @IBOutlet weak var labelWorkingHours: UILabel! 14 | @IBOutlet weak var labelWorkingHoursStatic: UILabel! 15 | @IBOutlet weak var labelAddress: UILabel! 16 | @IBOutlet weak var labelTitle: UILabel! 17 | @IBOutlet weak var btnDirections: UIButton! 18 | @IBOutlet weak var imageViewMap: UIImageView! 19 | @IBOutlet weak var labelAddressStatic: UILabel! 20 | override func awakeFromNib() { 21 | super.awakeFromNib() 22 | // Initialization code 23 | } 24 | 25 | override func setSelected(_ selected: Bool, animated: Bool) { 26 | super.setSelected(selected, animated: animated) 27 | 28 | // Configure the view for the selected state 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /DemoBuisness/Cells/PhotoTableViewCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PhotoTableViewCell.swift 3 | // DemoBuisness 4 | // 5 | // Created by Saif Chaudhary on 1/23/17. 6 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class PhotoTableViewCell: UITableViewCell { 12 | 13 | @IBOutlet weak var imageView4: UIImageView! 14 | @IBOutlet weak var imageView3: UIImageView! 15 | @IBOutlet weak var stackView2: UIStackView! 16 | @IBOutlet weak var stackView1: UIStackView! 17 | @IBOutlet weak var imageView2: UIImageView! 18 | @IBOutlet weak var imageView1: UIImageView! 19 | @IBOutlet weak var btnViewAll: UIButton! 20 | @IBOutlet weak var labelTotalPhotos: UILabel! 21 | override func awakeFromNib() { 22 | super.awakeFromNib() 23 | // Initialization code 24 | } 25 | 26 | override func setSelected(_ selected: Bool, animated: Bool) { 27 | super.setSelected(selected, animated: animated) 28 | 29 | // Configure the view for the selected state 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /DemoBuisness/Cells/ReviewsDynamicTableViewCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ReviewsDynamicTableViewCell.swift 3 | // DemoBuisness 4 | // 5 | // Created by Saif Chaudhary on 1/23/17. 6 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ReviewsDynamicTableViewCell: UITableViewCell { 12 | 13 | @IBOutlet var ArrayImageViewRating: [UIImageView]! 14 | @IBOutlet weak var labelName: UILabel! 15 | @IBOutlet weak var imageViewUser: UIImageView! 16 | override func awakeFromNib() { 17 | super.awakeFromNib() 18 | // Initialization code 19 | } 20 | 21 | override func setSelected(_ selected: Bool, animated: Bool) { 22 | super.setSelected(selected, animated: animated) 23 | 24 | // Configure the view for the selected state 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /DemoBuisness/Cells/ReviewsStaticTableViewCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ReviewsStaticTableViewCell.swift 3 | // DemoBuisness 4 | // 5 | // Created by Saif Chaudhary on 1/23/17. 6 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ReviewsStaticTableViewCell: UITableViewCell { 12 | 13 | @IBOutlet var arrayLabelTotalReviews: [UILabel]! 14 | @IBOutlet var arrayProgress: [LinearProgressView]! 15 | @IBOutlet weak var labelBasedOnRatings: UILabel! 16 | @IBOutlet weak var labelDesc: UILabel! 17 | @IBOutlet weak var imageViewUser: UIImageView! 18 | @IBOutlet weak var btnViewAll: UIButton! 19 | @IBOutlet weak var labelTotalReviews: UILabel! 20 | override func awakeFromNib() { 21 | super.awakeFromNib() 22 | // Initialization code 23 | } 24 | 25 | override func setSelected(_ selected: Bool, animated: Bool) { 26 | super.setSelected(selected, animated: animated) 27 | 28 | // Configure the view for the selected state 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /DemoBuisness/Constants/CellIdentifiers.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CellIdentifiers.swift 3 | // WedLikeThat 4 | // 5 | // Created by cblmacmini on 7/29/16. 6 | // Copyright © 2016 Codebrew. All rights reserved. 7 | 8 | 9 | 10 | import Foundation 11 | 12 | 13 | enum cellId { 14 | 15 | case categoryCell 16 | case recommendedCell 17 | case CategoryReusableView 18 | case nearByListCell 19 | case reviewCell 20 | case businessSearchCell 21 | case vendorFilterCell 22 | case ideaDetailCell 23 | case weddingImageCollectionViewCell 24 | case settingsCell 25 | case vendorFullDetailCell 26 | case HomeTableViewCell 27 | case BuisnessOfWeekCollectionViewCell 28 | case MenuTableViewCell 29 | 30 | func string() -> String { 31 | 32 | switch self { 33 | 34 | case .categoryCell: 35 | return "CategoryCell" 36 | case .recommendedCell: 37 | return "RecommendedCell" 38 | 39 | case .CategoryReusableView: 40 | return "CategoryReusableView" 41 | 42 | case .nearByListCell: 43 | return "NearByListCell" 44 | // 45 | case .businessSearchCell : 46 | return "BusinessSearchCell" 47 | 48 | case .vendorFilterCell : 49 | return "VendorFilterCell" 50 | 51 | case .ideaDetailCell : 52 | return "IdeaDetailCell" 53 | 54 | case .weddingImageCollectionViewCell : 55 | return "WeddingImageCollectionViewCell" 56 | 57 | 58 | 59 | case .settingsCell : 60 | return "SettingsCell" 61 | 62 | case .vendorFullDetailCell : 63 | return "VendorFullDetailCell" 64 | 65 | case .HomeTableViewCell : 66 | return "HomeTableViewCell" 67 | 68 | case .BuisnessOfWeekCollectionViewCell : 69 | return "BuisnessOfWeekCollectionViewCell" 70 | 71 | case .MenuTableViewCell: 72 | return "MenuTableViewCell" 73 | 74 | default : return "" 75 | 76 | } 77 | 78 | 79 | 80 | 81 | } 82 | 83 | 84 | } 85 | -------------------------------------------------------------------------------- /DemoBuisness/Constants/Constants.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Constants.swift 3 | // Aybiz 4 | // 5 | // Created by cbl16 on 9/14/16. 6 | // Copyright © 2016 Codebrew. All rights reserved. 7 | // 8 | // 9 | 10 | import UIKit 11 | 12 | 13 | 14 | enum fontSize : CGFloat { 15 | case small = 12.0 16 | case medium = 14.0 17 | case large = 16.0 18 | case xLarge = 18.0 19 | case xXLarge = 20.0 20 | case xXXLarge = 32.0 21 | } 22 | 23 | enum fonts { 24 | 25 | enum Gotham : String { 26 | case regular = "Gotham-Book" 27 | case bold = "Gotham-Bold" 28 | case medium = "Gotham-Medium" 29 | 30 | func font(_ size : fontSize) -> UIFont { 31 | return UIFont(name: self.rawValue, size: size.rawValue)! 32 | } 33 | } 34 | } 35 | 36 | 37 | 38 | 39 | enum segue : String{ 40 | 41 | case unwindToDasboard = "SegueUnwindToDasboard" 42 | } 43 | 44 | enum warningMessage : String{ 45 | 46 | case validPassword = "Please enter a valid password." 47 | case validPhoneNumber = "Please enter a valid phone number" 48 | case validName = "Please enter a valid name" 49 | case validEmailAddress = "Please enter a valid email address." 50 | case restYourPassword = "An email was sent to you to rest your password" 51 | case changePassword = "Your password has been changed successfully" 52 | case logoutMsg = "You've been logged out successfully." 53 | } 54 | 55 | 56 | enum helperNames : String { 57 | case loader = "loader.gif" 58 | case oops = "opps" 59 | case placeholder = "placeholder" 60 | case facebook = "facebook" 61 | case Cancel = "Cancel" 62 | case VendorDetailNotFound = "Vendor Details Not Found" 63 | 64 | } 65 | 66 | enum userPrefrences : String{ 67 | 68 | case aybizUserProfile = "aybizUserProfile" 69 | } 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /DemoBuisness/Constants/Images.swift: -------------------------------------------------------------------------------- 1 | // Generated using SwiftGen, by O.Halligon — https://github.com/AliSoftware/SwiftGen 2 | 3 | #if os(iOS) || os(tvOS) || os(watchOS) 4 | import UIKit.UIImage 5 | typealias Image = UIImage 6 | #elseif os(OSX) 7 | import AppKit.NSImage 8 | typealias Image = NSImage 9 | #endif 10 | 11 | // swiftlint:disable file_length 12 | // swiftlint:disable type_body_length 13 | enum Asset: String { 14 | case Fb_next = "fb_next" 15 | case Ic_add = "ic_add" 16 | case Ic_add_business = "ic_add_business" 17 | case Ic_back_c = "ic_back_c" 18 | case Ic_back_w = "ic_back_w" 19 | case Ic_bookmark_pressed = "ic_bookmark_pressed" 20 | case Ic_bookmark_stroke_c = "ic_bookmark_stroke_c" 21 | case Ic_bookmark_stroke_g = "ic_bookmark_stroke_g" 22 | case Ic_bookmark_stroke_w = "ic_bookmark_stroke_w" 23 | case Ic_business = "ic_business" 24 | case Ic_call = "ic_call" 25 | case Ic_credits = "ic_credits" 26 | case Ic_cross_c = "ic_cross_c" 27 | case Ic_cross_w = "ic_cross_w" 28 | case Ic_dd_g = "ic_dd_g" 29 | case Ic_dd_w = "ic_dd_w" 30 | case Ic_directions = "ic_directions" 31 | case Ic_edit_business = "ic_edit_business" 32 | case Ic_fb = "ic_fb" 33 | case Ic_fetch_loc = "ic_fetch_loc" 34 | case Ic_filters = "ic_filters" 35 | case Ic_info = "ic_info" 36 | case Ic_list_normal = "ic_list_normal" 37 | case Ic_list_pressed = "ic_list_pressed" 38 | case Ic_map_normal = "ic_map_normal" 39 | case Ic_map_pressed = "ic_map_pressed" 40 | case Ic_menu_call = "ic_menu_call" 41 | case Ic_menu_camera = "ic_menu_camera" 42 | case Ic_menu_directions = "ic_menu_directions" 43 | case Ic_menu_event = "ic_menu_event" 44 | case Ic_menu_review = "ic_menu_review" 45 | case Ic_nearby_normal = "ic_nearby_normal" 46 | case Ic_nearby_pressed = "ic_nearby_pressed" 47 | case Ic_photos = "ic_photos" 48 | case Ic_pin = "ic_pin" 49 | case Ic_pin_2 = "ic_pin_2" 50 | case Ic_profile_normal = "ic_profile_normal" 51 | case Ic_review = "ic_review" 52 | case Ic_search_Location = "ic_search location" 53 | case Ic_search_normal = "ic_search_normal" 54 | case Ic_search_pressed = "ic_search_pressed" 55 | case Ic_settings = "ic_settings" 56 | case Ic_share = "ic_share" 57 | case Ic_sponsor = "ic_sponsor" 58 | case Ic_star_big_fill = "ic_star_big_fill" 59 | case Ic_star_big_stroke = "ic_star_big_stroke" 60 | case Ic_star_small_filled = "ic_star_small_filled" 61 | case Ic_star_small_grey = "ic_star_small_grey" 62 | case Illustration_w = "illustration_w" 63 | case Ilustration_c = "ilustration_c" 64 | case Pin_selected = "pin_selected" 65 | case Address = "address" 66 | case Attribution = "attribution" 67 | case Back = "back" 68 | case Coordinate = "coordinate" 69 | case Logo = "logo" 70 | case Open_now = "open_now" 71 | case Phone_number = "phone_number" 72 | case Pins = "pins" 73 | case Place_id = "place_id" 74 | case Price_level = "price_level" 75 | case Rating = "rating" 76 | case Types = "types" 77 | case Website = "website" 78 | case Cm_add_white = "cm_add_white" 79 | case Cm_arrow_back_white = "cm_arrow_back_white" 80 | case Cm_arrow_downward_white = "cm_arrow_downward_white" 81 | case Cm_audio_library_white = "cm_audio_library_white" 82 | case Cm_audio_white = "cm_audio_white" 83 | case Cm_bell_white = "cm_bell_white" 84 | case Cm_check_white = "cm_check_white" 85 | case Cm_close_white = "cm_close_white" 86 | case Cm_image_white = "cm_image_white" 87 | case Cm_menu_white = "cm_menu_white" 88 | case Cm_microphone_white = "cm_microphone_white" 89 | case Cm_more_horiz_white = "cm_more_horiz_white" 90 | case Cm_more_vert_white = "cm_more_vert_white" 91 | case Cm_movie_white = "cm_movie_white" 92 | case Cm_pause_white = "cm_pause_white" 93 | case Cm_pen_white = "cm_pen_white" 94 | case Cm_photo_camera_white = "cm_photo_camera_white" 95 | case Cm_photo_library_white = "cm_photo_library_white" 96 | case Cm_play_white = "cm_play_white" 97 | case Cm_search_white = "cm_search_white" 98 | case Cm_settings_white = "cm_settings_white" 99 | case Cm_share_white = "cm_share_white" 100 | case Cm_shuffle_white = "cm_shuffle_white" 101 | case Cm_skip_backward_white = "cm_skip_backward_white" 102 | case Cm_skip_forward_white = "cm_skip_forward_white" 103 | case Cm_star_white = "cm_star_white" 104 | case Cm_videocam_white = "cm_videocam_white" 105 | case Cm_volume_high_white = "cm_volume_high_white" 106 | case Cm_volume_medium_white = "cm_volume_medium_white" 107 | case Cm_volume_off_white = "cm_volume_off_white" 108 | case Ic_add_circle_outline_white = "ic_add_circle_outline_white" 109 | case Ic_add_circle_white = "ic_add_circle_white" 110 | case Ic_add_white = "ic_add_white" 111 | case Ic_arrow_back_white = "ic_arrow_back_white" 112 | case Ic_arrow_downward_white = "ic_arrow_downward_white" 113 | case Ic_audiotrack_white = "ic_audiotrack_white" 114 | case Ic_check_white = "ic_check_white" 115 | case Ic_close_white = "ic_close_white" 116 | case Ic_edit_white = "ic_edit_white" 117 | case Ic_favorite_border_white = "ic_favorite_border_white" 118 | case Ic_favorite_white = "ic_favorite_white" 119 | case Ic_history_white = "ic_history_white" 120 | case Ic_home_white = "ic_home_white" 121 | case Ic_image_white = "ic_image_white" 122 | case Ic_menu_white = "ic_menu_white" 123 | case Ic_more_horiz_white = "ic_more_horiz_white" 124 | case Ic_more_vert_white = "ic_more_vert_white" 125 | case Ic_movie_white = "ic_movie_white" 126 | case Ic_photo_camera_white = "ic_photo_camera_white" 127 | case Ic_photo_library_white = "ic_photo_library_white" 128 | case Ic_place_white = "ic_place_white" 129 | case Ic_search_white = "ic_search_white" 130 | case Ic_settings_white = "ic_settings_white" 131 | case Ic_share_white = "ic_share_white" 132 | case Ic_star_border_white = "ic_star_border_white" 133 | case Ic_star_half_white = "ic_star_half_white" 134 | case Ic_star_white = "ic_star_white" 135 | case Ic_videocam_white = "ic_videocam_white" 136 | case Ic_visibility_white = "ic_visibility_white" 137 | 138 | var image: Image { 139 | return Image(asset: self) 140 | } 141 | } 142 | // swiftlint:enable type_body_length 143 | 144 | extension Image { 145 | convenience init!(asset: Asset) { 146 | self.init(named: asset.rawValue) 147 | } 148 | } 149 | -------------------------------------------------------------------------------- /DemoBuisness/Constants/LocalizedStrings.swift: -------------------------------------------------------------------------------- 1 | // Generated using SwiftGen, by O.Halligon — https://github.com/AliSoftware/SwiftGen 2 | 3 | import Foundation 4 | 5 | // swiftlint:disable file_length 6 | // swiftlint:disable type_body_length 7 | enum L10n { 8 | /// LOGIN 9 | case LOGIN 10 | /// SIGNUP 11 | case SIGNUP 12 | /// Login 13 | case Login 14 | /// Welcome! 15 | case Welcome 16 | 17 | case PleaseLoginToContinue 18 | 19 | 20 | 21 | } 22 | // swiftlint:enable type_body_length 23 | 24 | extension L10n: CustomStringConvertible { 25 | var description: String { return self.string } 26 | 27 | var string: String { 28 | switch self { 29 | case .LOGIN: 30 | return L10n.LOGIN.string 31 | case .SIGNUP: 32 | return L10n.LOGIN.string 33 | case .Login: 34 | return L10n.LOGIN.string 35 | case .Welcome: 36 | return L10n.LOGIN.string 37 | 38 | case .PleaseLoginToContinue : 39 | 40 | return "Please login to continue" 41 | 42 | } 43 | } 44 | 45 | private static func tr(key: String, _ args: CVarArg...) -> String { 46 | let format = NSLocalizedString(key, comment: "") 47 | return String(format: format, locale: NSLocale.current, arguments: args) 48 | } 49 | } 50 | 51 | func tr(key: L10n) -> String { 52 | return key.string 53 | } 54 | 55 | 56 | -------------------------------------------------------------------------------- /DemoBuisness/Constants/ScreenSize.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ScreenSize.swift 3 | // Created by Saif Chaudhary on 1/22/17. 4 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 5 | // 6 | // 7 | 8 | import Foundation 9 | import UIKit 10 | 11 | enum UIUserInterfaceIdiom : Int 12 | { 13 | case unspecified 14 | case phone 15 | case pad 16 | } 17 | 18 | struct ScreenSize 19 | { 20 | static let SCREEN_WIDTH = UIScreen.main.bounds.size.width 21 | static let SCREEN_HEIGHT = UIScreen.main.bounds.size.height 22 | static let SCREEN_MAX_LENGTH = max(ScreenSize.SCREEN_WIDTH, ScreenSize.SCREEN_HEIGHT) 23 | static let SCREEN_MIN_LENGTH = min(ScreenSize.SCREEN_WIDTH, ScreenSize.SCREEN_HEIGHT) 24 | static let SCALE = UIScreen.main.scale 25 | static let ratio1619 = (0.5625 * ScreenSize.SCREEN_WIDTH) 26 | } 27 | 28 | struct DeviceType 29 | { 30 | static let iOS = "1" 31 | static let IS_IPHONE_4_OR_LESS = UIDevice.current.userInterfaceIdiom == .phone && ScreenSize.SCREEN_MAX_LENGTH < 568.0 32 | static let IS_IPHONE_5 = UIDevice.current.userInterfaceIdiom == .phone && ScreenSize.SCREEN_MAX_LENGTH == 568.0 33 | static let IS_IPHONE_6 = UIDevice.current.userInterfaceIdiom == .phone && ScreenSize.SCREEN_MAX_LENGTH == 667.0 34 | static let IS_IPHONE_6P = UIDevice.current.userInterfaceIdiom == .phone && ScreenSize.SCREEN_MAX_LENGTH == 736.0 35 | } 36 | -------------------------------------------------------------------------------- /DemoBuisness/Constants/SegueIdentifiers.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CellIdentifiers.swift 3 | // WedLikeThat 4 | // 5 | // Created by cblmacmini on 7/29/16. 6 | // Copyright © 2016 Codebrew. All rights reserved. 7 | 8 | 9 | 10 | import Foundation 11 | 12 | 13 | enum SegueId { 14 | 15 | case segueSignUp2 16 | case propShopCell 17 | case weddingCell 18 | case ideaCell 19 | case reviewCell 20 | case vendorCatCell 21 | case vendorFilterCell 22 | case ideaDetailCell 23 | case weddingImageCollectionViewCell 24 | case settingsCell 25 | case vendorFullDetailCell 26 | 27 | func string() -> String { 28 | 29 | switch self { 30 | 31 | case .segueSignUp2: 32 | return "SegueSignUp2" 33 | case .propShopCell: 34 | return "PropShopCell" 35 | 36 | case .weddingCell: 37 | return "WeddingCell" 38 | 39 | case .reviewCell: 40 | return "ReviewCell" 41 | 42 | case .vendorCatCell : 43 | return "VendorCatCell" 44 | 45 | case .vendorFilterCell : 46 | return "VendorFilterCell" 47 | 48 | case .ideaDetailCell : 49 | return "IdeaDetailCell" 50 | 51 | case .weddingImageCollectionViewCell : 52 | return "WeddingImageCollectionViewCell" 53 | 54 | case .ideaCell : 55 | return "IdeaCell" 56 | 57 | case .settingsCell : 58 | return "SettingsCell" 59 | 60 | case .vendorFullDetailCell : 61 | return "VendorFullDetailCell" 62 | 63 | } 64 | 65 | 66 | 67 | 68 | } 69 | 70 | 71 | } 72 | -------------------------------------------------------------------------------- /DemoBuisness/Constants/Storyboards.swift: -------------------------------------------------------------------------------- 1 | // Generated using SwiftGen, by O.Halligon — https://github.com/AliSoftware/SwiftGen 2 | 3 | import Foundation 4 | import UIKit 5 | 6 | protocol StoryboardSceneType { 7 | static var storyboardName: String { get } 8 | } 9 | 10 | extension StoryboardSceneType { 11 | static func storyboard() -> UIStoryboard { 12 | return UIStoryboard(name: self.storyboardName, bundle: nil) 13 | } 14 | 15 | static func initialViewController() -> UIViewController { 16 | guard let vc = storyboard().instantiateInitialViewController() else { 17 | fatalError("Failed to instantiate initialViewController for \(self.storyboardName)") 18 | } 19 | return vc 20 | } 21 | } 22 | 23 | extension StoryboardSceneType where Self: RawRepresentable, Self.RawValue == String { 24 | func viewController() -> UIViewController { 25 | return Self.storyboard().instantiateViewController(withIdentifier: self.rawValue) 26 | } 27 | static func viewController(identifier: Self) -> UIViewController { 28 | return identifier.viewController() 29 | } 30 | } 31 | 32 | protocol StoryboardSegueType: RawRepresentable { } 33 | 34 | extension UIViewController { 35 | func performSegue(segue: S, sender: AnyObject? = nil) where S.RawValue == String { 36 | performSegue(withIdentifier: segue.rawValue, sender: sender) 37 | } 38 | } 39 | 40 | // swiftlint:disable file_length 41 | // swiftlint:disable type_body_length 42 | 43 | struct StoryboardScene { 44 | enum LaunchScreen: StoryboardSceneType { 45 | static let storyboardName = "LaunchScreen" 46 | 47 | static func initialViewController() -> UISplitViewController { 48 | guard let vc = storyboard().instantiateInitialViewController() as? UISplitViewController else { 49 | fatalError("Failed to instantiate initialViewController for \(self.storyboardName)") 50 | } 51 | return vc 52 | } 53 | } 54 | enum LoginSignUp: String, StoryboardSceneType { 55 | static let storyboardName = "LoginSignUp" 56 | 57 | static func initialViewController() -> UINavigationController { 58 | guard let vc = storyboard().instantiateInitialViewController() as? UINavigationController else { 59 | fatalError("Failed to instantiate initialViewController for \(self.storyboardName)") 60 | } 61 | return vc 62 | } 63 | 64 | case ForgotPaswwordViewControllerScene = "ForgotPaswwordViewController" 65 | static func instantiateForgotPaswwordViewController() -> ForgotPaswwordViewController { 66 | guard let vc = StoryboardScene.LoginSignUp.ForgotPaswwordViewControllerScene.viewController() as? ForgotPaswwordViewController 67 | else { 68 | fatalError("ViewController 'ForgotPaswwordViewController' is not of the expected class ForgotPaswwordViewController.") 69 | } 70 | return vc 71 | } 72 | 73 | 74 | case SetupProfileViewControllerScene = "SetupProfileViewController" 75 | static func instantiateSetupProfileViewController() -> SetupProfileViewController { 76 | guard let vc = StoryboardScene.LoginSignUp.SetupProfileViewControllerScene.viewController() as? SetupProfileViewController 77 | else { 78 | fatalError("ViewController 'FilterViewController' is not of the expected class FilterViewController.") 79 | } 80 | return vc 81 | } 82 | 83 | 84 | } 85 | enum Main: String, StoryboardSceneType { 86 | static let storyboardName = "Main" 87 | 88 | static func initialViewController() -> BaseTabBarController { 89 | guard let vc = storyboard().instantiateInitialViewController() as? BaseTabBarController else { 90 | fatalError("Failed to instantiate initialViewController for \(self.storyboardName)") 91 | } 92 | return vc 93 | } 94 | 95 | 96 | 97 | case BuisnessListViewControllerScene = "BuisnessListViewController" 98 | static func instantiateBuisnessListViewController() -> BuisnessListViewController { 99 | guard let vc = StoryboardScene.Main.BuisnessListViewControllerScene.viewController() as? BuisnessListViewController 100 | else { 101 | fatalError("ViewController 'BuisnessListViewController' is not of the expected class BuisnessListViewController.") 102 | } 103 | return vc 104 | } 105 | 106 | case FilterViewControllerScene = "FilterViewController" 107 | static func instantiateFilterViewController() -> FilterViewController { 108 | guard let vc = StoryboardScene.Main.FilterViewControllerScene.viewController() as? FilterViewController 109 | else { 110 | fatalError("ViewController 'FilterViewController' is not of the expected class FilterViewController.") 111 | } 112 | return vc 113 | } 114 | 115 | 116 | case BuisnessMapViewControllerScene = "BuisnessMapViewController" 117 | static func instantiateBuisnessMapViewController() -> BuisnessMapViewController { 118 | guard let vc = StoryboardScene.Main.BuisnessMapViewControllerScene.viewController() as? BuisnessMapViewController 119 | else { 120 | fatalError("ViewController 'BuisnessMapViewController' is not of the expected class BuisnessMapViewController.") 121 | } 122 | return vc 123 | } 124 | 125 | 126 | 127 | 128 | case HomeViewControllerScene = "HomeViewController" 129 | static func instantiateSearchViewController() -> HomeViewController { 130 | guard let vc = StoryboardScene.Main.HomeViewControllerScene.viewController() as? HomeViewController 131 | else { 132 | fatalError("ViewController 'SearchViewController' is not of the expected class SearchViewController.") 133 | } 134 | return vc 135 | } 136 | } 137 | } 138 | 139 | struct StoryboardSegue { 140 | enum LoginSignUp: String, StoryboardSegueType { 141 | case SegueSignUp2 = "SegueSignUp2" 142 | } 143 | } 144 | -------------------------------------------------------------------------------- /DemoBuisness/DemoBuisness-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | #import "FXBlurView.h" 6 | -------------------------------------------------------------------------------- /DemoBuisness/FXBlurView.h: -------------------------------------------------------------------------------- 1 | // 2 | // FXBlurView.h 3 | // 4 | // Version 1.6.3 5 | // 6 | // Created by Nick Lockwood on 25/08/2013. 7 | // Copyright (c) 2013 Charcoal Design 8 | // 9 | // Distributed under the permissive zlib License 10 | // Get the latest version from here: 11 | // 12 | // https://github.com/nicklockwood/FXBlurView 13 | // 14 | // This software is provided 'as-is', without any express or implied 15 | // warranty. In no event will the authors be held liable for any damages 16 | // arising from the use of this software. 17 | // 18 | // Permission is granted to anyone to use this software for any purpose, 19 | // including commercial applications, and to alter it and redistribute it 20 | // freely, subject to the following restrictions: 21 | // 22 | // 1. The origin of this software must not be misrepresented; you must not 23 | // claim that you wrote the original software. If you use this software 24 | // in a product, an acknowledgment in the product documentation would be 25 | // appreciated but is not required. 26 | // 27 | // 2. Altered source versions must be plainly marked as such, and must not be 28 | // misrepresented as being the original software. 29 | // 30 | // 3. This notice may not be removed or altered from any source distribution. 31 | // 32 | 33 | 34 | #import 35 | #import 36 | #import 37 | 38 | 39 | #pragma GCC diagnostic push 40 | #pragma GCC diagnostic ignored "-Wobjc-missing-property-synthesis" 41 | 42 | 43 | #import 44 | #undef weak_ref 45 | #if __has_feature(objc_arc) && __has_feature(objc_arc_weak) 46 | #define weak_ref weak 47 | #else 48 | #define weak_ref unsafe_unretained 49 | #endif 50 | 51 | @interface UIImage (FXBlurView) 52 | 53 | - (UIImage *)blurredImageWithRadius:(CGFloat)radius iterations:(NSUInteger)iterations tintColor:(UIColor *)tintColor; 54 | 55 | @end 56 | 57 | 58 | @interface FXBlurView : UIView 59 | 60 | + (void)setBlurEnabled:(BOOL)blurEnabled; 61 | + (void)setUpdatesEnabled; 62 | + (void)setUpdatesDisabled; 63 | 64 | @property (nonatomic, getter = isBlurEnabled) BOOL blurEnabled; 65 | @property (nonatomic, getter = isDynamic) BOOL dynamic; 66 | @property (nonatomic, assign) NSUInteger iterations; 67 | @property (nonatomic, assign) NSTimeInterval updateInterval; 68 | @property (nonatomic, assign) CGFloat blurRadius; 69 | @property (nonatomic, strong) UIColor *tintColor; 70 | @property (nonatomic, weak_ref) IBOutlet UIView *underlyingView; 71 | 72 | - (void)updateAsynchronously:(BOOL)async completion:(void (^)())completion; 73 | 74 | @end 75 | 76 | 77 | #pragma GCC diagnostic pop 78 | 79 | -------------------------------------------------------------------------------- /DemoBuisness/FXBlurView.m: -------------------------------------------------------------------------------- 1 | // 2 | // FXBlurView.m 3 | // 4 | // Version 1.6.3 5 | // 6 | // Created by Nick Lockwood on 25/08/2013. 7 | // Copyright (c) 2013 Charcoal Design 8 | // 9 | // Distributed under the permissive zlib License 10 | // Get the latest version from here: 11 | // 12 | // https://github.com/nicklockwood/FXBlurView 13 | // 14 | // This software is provided 'as-is', without any express or implied 15 | // warranty. In no event will the authors be held liable for any damages 16 | // arising from the use of this software. 17 | // 18 | // Permission is granted to anyone to use this software for any purpose, 19 | // including commercial applications, and to alter it and redistribute it 20 | // freely, subject to the following restrictions: 21 | // 22 | // 1. The origin of this software must not be misrepresented; you must not 23 | // claim that you wrote the original software. If you use this software 24 | // in a product, an acknowledgment in the product documentation would be 25 | // appreciated but is not required. 26 | // 27 | // 2. Altered source versions must be plainly marked as such, and must not be 28 | // misrepresented as being the original software. 29 | // 30 | // 3. This notice may not be removed or altered from any source distribution. 31 | // 32 | 33 | 34 | #import "FXBlurView.h" 35 | #import 36 | 37 | 38 | #pragma GCC diagnostic ignored "-Wobjc-missing-property-synthesis" 39 | #pragma GCC diagnostic ignored "-Wdirect-ivar-access" 40 | #pragma GCC diagnostic ignored "-Wgnu" 41 | 42 | 43 | #import 44 | #if !__has_feature(objc_arc) 45 | #error This class requires automatic reference counting 46 | #endif 47 | 48 | @implementation UIImage (FXBlurView) 49 | 50 | - (UIImage *)blurredImageWithRadius:(CGFloat)radius iterations:(NSUInteger)iterations tintColor:(UIColor *)tintColor 51 | { 52 | //image must be nonzero size 53 | if (floorf(self.size.width) * floorf(self.size.height) <= 0.0f) return self; 54 | 55 | //boxsize must be an odd integer 56 | uint32_t boxSize = (uint32_t)(radius * self.scale); 57 | if (boxSize % 2 == 0) boxSize ++; 58 | 59 | //create image buffers 60 | CGImageRef imageRef = self.CGImage; 61 | vImage_Buffer buffer1, buffer2; 62 | buffer1.width = buffer2.width = CGImageGetWidth(imageRef); 63 | buffer1.height = buffer2.height = CGImageGetHeight(imageRef); 64 | buffer1.rowBytes = buffer2.rowBytes = CGImageGetBytesPerRow(imageRef); 65 | size_t bytes = buffer1.rowBytes * buffer1.height; 66 | buffer1.data = malloc(bytes); 67 | buffer2.data = malloc(bytes); 68 | 69 | //create temp buffer 70 | void *tempBuffer = malloc((size_t)vImageBoxConvolve_ARGB8888(&buffer1, &buffer2, NULL, 0, 0, boxSize, boxSize, 71 | NULL, kvImageEdgeExtend + kvImageGetTempBufferSize)); 72 | 73 | //copy image data 74 | CFDataRef dataSource = CGDataProviderCopyData(CGImageGetDataProvider(imageRef)); 75 | memcpy(buffer1.data, CFDataGetBytePtr(dataSource), bytes); 76 | CFRelease(dataSource); 77 | 78 | for (NSUInteger i = 0; i < iterations; i++) 79 | { 80 | //perform blur 81 | vImageBoxConvolve_ARGB8888(&buffer1, &buffer2, tempBuffer, 0, 0, boxSize, boxSize, NULL, kvImageEdgeExtend); 82 | 83 | //swap buffers 84 | void *temp = buffer1.data; 85 | buffer1.data = buffer2.data; 86 | buffer2.data = temp; 87 | } 88 | 89 | //free buffers 90 | free(buffer2.data); 91 | free(tempBuffer); 92 | 93 | //create image context from buffer 94 | CGContextRef ctx = CGBitmapContextCreate(buffer1.data, buffer1.width, buffer1.height, 95 | 8, buffer1.rowBytes, CGImageGetColorSpace(imageRef), 96 | CGImageGetBitmapInfo(imageRef)); 97 | 98 | //apply tint 99 | if (tintColor && CGColorGetAlpha(tintColor.CGColor) > 0.0f) 100 | { 101 | CGContextSetFillColorWithColor(ctx, [tintColor colorWithAlphaComponent:0.25].CGColor); 102 | CGContextSetBlendMode(ctx, kCGBlendModePlusLighter); 103 | CGContextFillRect(ctx, CGRectMake(0, 0, buffer1.width, buffer1.height)); 104 | } 105 | 106 | //create image from context 107 | imageRef = CGBitmapContextCreateImage(ctx); 108 | UIImage *image = [UIImage imageWithCGImage:imageRef scale:self.scale orientation:self.imageOrientation]; 109 | CGImageRelease(imageRef); 110 | CGContextRelease(ctx); 111 | free(buffer1.data); 112 | return image; 113 | } 114 | 115 | @end 116 | 117 | 118 | @interface FXBlurScheduler : NSObject 119 | 120 | @property (nonatomic, strong) NSMutableArray *views; 121 | @property (nonatomic, assign) NSUInteger viewIndex; 122 | @property (nonatomic, assign) NSUInteger updatesEnabled; 123 | @property (nonatomic, assign) BOOL blurEnabled; 124 | @property (nonatomic, assign) BOOL updating; 125 | 126 | @end 127 | 128 | 129 | @interface FXBlurLayer: CALayer 130 | 131 | @property (nonatomic, assign) CGFloat blurRadius; 132 | 133 | @end 134 | 135 | 136 | @implementation FXBlurLayer 137 | 138 | @dynamic blurRadius; 139 | 140 | + (BOOL)needsDisplayForKey:(NSString *)key 141 | { 142 | if ([@[@"blurRadius", @"bounds", @"position"] containsObject:key]) 143 | { 144 | return YES; 145 | } 146 | return [super needsDisplayForKey:key]; 147 | } 148 | 149 | @end 150 | 151 | 152 | @interface FXBlurView () 153 | 154 | @property (nonatomic, assign) BOOL iterationsSet; 155 | @property (nonatomic, assign) BOOL blurRadiusSet; 156 | @property (nonatomic, assign) BOOL dynamicSet; 157 | @property (nonatomic, assign) BOOL blurEnabledSet; 158 | @property (nonatomic, strong) NSDate *lastUpdate; 159 | 160 | - (UIImage *)snapshotOfUnderlyingView; 161 | - (BOOL)shouldUpdate; 162 | 163 | @end 164 | 165 | 166 | @implementation FXBlurScheduler 167 | 168 | + (instancetype)sharedInstance 169 | { 170 | static FXBlurScheduler *sharedInstance = nil; 171 | if (!sharedInstance) 172 | { 173 | sharedInstance = [[FXBlurScheduler alloc] init]; 174 | } 175 | return sharedInstance; 176 | } 177 | 178 | - (instancetype)init 179 | { 180 | if ((self = [super init])) 181 | { 182 | _updatesEnabled = 1; 183 | _blurEnabled = YES; 184 | _views = [[NSMutableArray alloc] init]; 185 | } 186 | return self; 187 | } 188 | 189 | - (void)setBlurEnabled:(BOOL)blurEnabled 190 | { 191 | _blurEnabled = blurEnabled; 192 | if (blurEnabled) 193 | { 194 | for (FXBlurView *view in self.views) 195 | { 196 | [view setNeedsDisplay]; 197 | } 198 | [self updateAsynchronously]; 199 | } 200 | } 201 | 202 | - (void)setUpdatesEnabled 203 | { 204 | _updatesEnabled ++; 205 | [self updateAsynchronously]; 206 | } 207 | 208 | - (void)setUpdatesDisabled 209 | { 210 | _updatesEnabled --; 211 | } 212 | 213 | - (void)addView:(FXBlurView *)view 214 | { 215 | if (![self.views containsObject:view]) 216 | { 217 | [self.views addObject:view]; 218 | [self updateAsynchronously]; 219 | } 220 | } 221 | 222 | - (void)removeView:(FXBlurView *)view 223 | { 224 | NSUInteger index = [self.views indexOfObject:view]; 225 | if (index != NSNotFound) 226 | { 227 | if (index <= self.viewIndex) 228 | { 229 | self.viewIndex --; 230 | } 231 | [self.views removeObjectAtIndex:index]; 232 | } 233 | } 234 | 235 | - (void)updateAsynchronously 236 | { 237 | if (self.blurEnabled && !self.updating && self.updatesEnabled > 0 && [self.views count]) 238 | { 239 | NSTimeInterval timeUntilNextUpdate = 1.0 / 60; 240 | 241 | //loop through until we find a view that's ready to be drawn 242 | self.viewIndex = self.viewIndex % [self.views count]; 243 | for (NSUInteger i = self.viewIndex; i < [self.views count]; i++) 244 | { 245 | FXBlurView *view = self.views[i]; 246 | if (view.dynamic && !view.hidden && view.window && [view shouldUpdate]) 247 | { 248 | NSTimeInterval nextUpdate = [view.lastUpdate timeIntervalSinceNow] + view.updateInterval; 249 | if (!view.lastUpdate || nextUpdate <= 0) 250 | { 251 | self.updating = YES; 252 | [view updateAsynchronously:YES completion:^{ 253 | 254 | //render next view 255 | self.updating = NO; 256 | self.viewIndex = i + 1; 257 | [self updateAsynchronously]; 258 | }]; 259 | return; 260 | } 261 | else 262 | { 263 | timeUntilNextUpdate = MIN(timeUntilNextUpdate, nextUpdate); 264 | } 265 | } 266 | } 267 | 268 | //try again, delaying until the time when the next view needs an update. 269 | self.viewIndex = 0; 270 | [self performSelector:@selector(updateAsynchronously) 271 | withObject:nil 272 | afterDelay:timeUntilNextUpdate 273 | inModes:@[NSDefaultRunLoopMode, UITrackingRunLoopMode]]; 274 | } 275 | } 276 | 277 | @end 278 | 279 | 280 | @implementation FXBlurView 281 | 282 | + (void)setBlurEnabled:(BOOL)blurEnabled 283 | { 284 | [FXBlurScheduler sharedInstance].blurEnabled = blurEnabled; 285 | } 286 | 287 | + (void)setUpdatesEnabled 288 | { 289 | [[FXBlurScheduler sharedInstance] setUpdatesEnabled]; 290 | } 291 | 292 | + (void)setUpdatesDisabled 293 | { 294 | [[FXBlurScheduler sharedInstance] setUpdatesDisabled]; 295 | } 296 | 297 | + (Class)layerClass 298 | { 299 | return [FXBlurLayer class]; 300 | } 301 | 302 | - (void)setUp 303 | { 304 | if (!_iterationsSet) _iterations = 3; 305 | if (!_blurRadiusSet) [self blurLayer].blurRadius = 40; 306 | if (!_dynamicSet) _dynamic = YES; 307 | if (!_blurEnabledSet) _blurEnabled = YES; 308 | self.updateInterval = _updateInterval; 309 | self.layer.magnificationFilter = @"linear"; // kCAFilterLinear 310 | 311 | unsigned int numberOfMethods; 312 | Method *methods = class_copyMethodList([UIView class], &numberOfMethods); 313 | for (unsigned int i = 0; i < numberOfMethods; i++) 314 | { 315 | Method method = methods[i]; 316 | SEL selector = method_getName(method); 317 | if (selector == @selector(tintColor)) 318 | { 319 | _tintColor = ((id (*)(id,SEL))method_getImplementation(method))(self, selector); 320 | break; 321 | } 322 | } 323 | free(methods); 324 | } 325 | 326 | - (id)initWithFrame:(CGRect)frame 327 | { 328 | if ((self = [super initWithFrame:frame])) 329 | { 330 | [self setUp]; 331 | self.clipsToBounds = YES; 332 | } 333 | return self; 334 | } 335 | 336 | - (id)initWithCoder:(NSCoder *)aDecoder 337 | { 338 | if ((self = [super initWithCoder:aDecoder])) 339 | { 340 | [self setUp]; 341 | } 342 | return self; 343 | } 344 | 345 | - (void)dealloc 346 | { 347 | [[NSNotificationCenter defaultCenter] removeObserver:self]; 348 | } 349 | 350 | - (void)setIterations:(NSUInteger)iterations 351 | { 352 | _iterationsSet = YES; 353 | _iterations = iterations; 354 | [self setNeedsDisplay]; 355 | } 356 | 357 | - (void)setBlurRadius:(CGFloat)blurRadius 358 | { 359 | _blurRadiusSet = YES; 360 | [self blurLayer].blurRadius = blurRadius; 361 | } 362 | 363 | - (CGFloat)blurRadius 364 | { 365 | return [self blurLayer].blurRadius; 366 | } 367 | 368 | - (void)setBlurEnabled:(BOOL)blurEnabled 369 | { 370 | _blurEnabledSet = YES; 371 | if (_blurEnabled != blurEnabled) 372 | { 373 | _blurEnabled = blurEnabled; 374 | [self schedule]; 375 | if (_blurEnabled) 376 | { 377 | [self setNeedsDisplay]; 378 | } 379 | } 380 | } 381 | 382 | - (void)setDynamic:(BOOL)dynamic 383 | { 384 | _dynamicSet = YES; 385 | if (_dynamic != dynamic) 386 | { 387 | _dynamic = dynamic; 388 | [self schedule]; 389 | if (!dynamic) 390 | { 391 | [self setNeedsDisplay]; 392 | } 393 | } 394 | } 395 | 396 | - (UIView *)underlyingView 397 | { 398 | return _underlyingView ?: self.superview; 399 | } 400 | 401 | - (CALayer *)underlyingLayer 402 | { 403 | return self.underlyingView.layer; 404 | } 405 | 406 | - (FXBlurLayer *)blurLayer 407 | { 408 | return (FXBlurLayer *)self.layer; 409 | } 410 | 411 | - (FXBlurLayer *)blurPresentationLayer 412 | { 413 | FXBlurLayer *blurLayer = [self blurLayer]; 414 | return (FXBlurLayer *)blurLayer.presentationLayer ?: blurLayer; 415 | } 416 | 417 | - (void)setUpdateInterval:(NSTimeInterval)updateInterval 418 | { 419 | _updateInterval = updateInterval; 420 | if (_updateInterval <= 0) _updateInterval = 1.0/60; 421 | } 422 | 423 | - (void)setTintColor:(UIColor *)tintColor 424 | { 425 | _tintColor = tintColor; 426 | [self setNeedsDisplay]; 427 | } 428 | 429 | - (void)didMoveToSuperview 430 | { 431 | [super didMoveToSuperview]; 432 | [self.layer setNeedsDisplay]; 433 | } 434 | 435 | - (void)didMoveToWindow 436 | { 437 | [super didMoveToWindow]; 438 | [self schedule]; 439 | } 440 | 441 | - (void)schedule 442 | { 443 | if (self.window && self.dynamic && self.blurEnabled) 444 | { 445 | [[FXBlurScheduler sharedInstance] addView:self]; 446 | } 447 | else 448 | { 449 | [[FXBlurScheduler sharedInstance] removeView:self]; 450 | } 451 | } 452 | 453 | - (void)setNeedsDisplay 454 | { 455 | [super setNeedsDisplay]; 456 | [self.layer setNeedsDisplay]; 457 | } 458 | 459 | - (BOOL)shouldUpdate 460 | { 461 | __strong CALayer *underlyingLayer = [self underlyingLayer]; 462 | 463 | return 464 | underlyingLayer && !underlyingLayer.hidden && 465 | self.blurEnabled && [FXBlurScheduler sharedInstance].blurEnabled && 466 | !CGRectIsEmpty([self.layer.presentationLayer ?: self.layer bounds]) && !CGRectIsEmpty(underlyingLayer.bounds); 467 | } 468 | 469 | - (void)displayLayer:(__unused CALayer *)layer 470 | { 471 | [self updateAsynchronously:NO completion:NULL]; 472 | } 473 | 474 | - (id)actionForLayer:(CALayer *)layer forKey:(NSString *)key 475 | { 476 | if ([key isEqualToString:@"blurRadius"]) 477 | { 478 | //animations are enabled 479 | CAAnimation *action = (CAAnimation *)[super actionForLayer:layer forKey:@"backgroundColor"]; 480 | if ((NSNull *)action != [NSNull null]) 481 | { 482 | CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:key]; 483 | animation.fromValue = [layer.presentationLayer valueForKey:key]; 484 | 485 | //CAMediatiming attributes 486 | animation.beginTime = action.beginTime; 487 | animation.duration = action.duration; 488 | animation.speed = action.speed; 489 | animation.timeOffset = action.timeOffset; 490 | animation.repeatCount = action.repeatCount; 491 | animation.repeatDuration = action.repeatDuration; 492 | animation.autoreverses = action.autoreverses; 493 | animation.fillMode = action.fillMode; 494 | 495 | //CAAnimation attributes 496 | animation.timingFunction = action.timingFunction; 497 | animation.delegate = action.delegate; 498 | 499 | return animation; 500 | } 501 | } 502 | return [super actionForLayer:layer forKey:key]; 503 | } 504 | 505 | - (UIImage *)snapshotOfUnderlyingView 506 | { 507 | __strong FXBlurLayer *blurLayer = [self blurPresentationLayer]; 508 | __strong CALayer *underlyingLayer = [self underlyingLayer]; 509 | CGRect bounds = [blurLayer convertRect:blurLayer.bounds toLayer:underlyingLayer]; 510 | 511 | self.lastUpdate = [NSDate date]; 512 | CGFloat scale = 0.5; 513 | if (self.iterations) 514 | { 515 | CGFloat blockSize = 12.0f/self.iterations; 516 | scale = blockSize/MAX(blockSize * 2, blurLayer.blurRadius); 517 | scale = 1.0f/floorf(1.0f/scale); 518 | } 519 | CGSize size = bounds.size; 520 | if (self.contentMode == UIViewContentModeScaleToFill || 521 | self.contentMode == UIViewContentModeScaleAspectFill || 522 | self.contentMode == UIViewContentModeScaleAspectFit || 523 | self.contentMode == UIViewContentModeRedraw) 524 | { 525 | //prevents edge artefacts 526 | size.width = floorf(size.width * scale) / scale; 527 | size.height = floorf(size.height * scale) / scale; 528 | } 529 | else if ([[UIDevice currentDevice].systemVersion floatValue] < 7.0f && [UIScreen mainScreen].scale == 1.0f) 530 | { 531 | //prevents pixelation on old devices 532 | scale = 1.0f; 533 | } 534 | UIGraphicsBeginImageContextWithOptions(size, NO, scale); 535 | CGContextRef context = UIGraphicsGetCurrentContext(); 536 | CGContextTranslateCTM(context, -bounds.origin.x, -bounds.origin.y); 537 | 538 | NSArray *hiddenViews = [self prepareUnderlyingViewForSnapshot]; 539 | [underlyingLayer renderInContext:context]; 540 | [self restoreSuperviewAfterSnapshot:hiddenViews]; 541 | UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); 542 | UIGraphicsEndImageContext(); 543 | return snapshot; 544 | } 545 | 546 | - (NSArray *)prepareUnderlyingViewForSnapshot 547 | { 548 | __strong CALayer *blurlayer = [self blurLayer]; 549 | __strong CALayer *underlyingLayer = [self underlyingLayer]; 550 | while (blurlayer.superlayer && blurlayer.superlayer != underlyingLayer) 551 | { 552 | blurlayer = blurlayer.superlayer; 553 | } 554 | NSMutableArray *layers = [NSMutableArray array]; 555 | NSUInteger index = [underlyingLayer.sublayers indexOfObject:blurlayer]; 556 | if (index != NSNotFound) 557 | { 558 | for (NSUInteger i = index; i < [underlyingLayer.sublayers count]; i++) 559 | { 560 | CALayer *layer = underlyingLayer.sublayers[i]; 561 | if (!layer.hidden) 562 | { 563 | layer.hidden = YES; 564 | [layers addObject:layer]; 565 | } 566 | } 567 | } 568 | return layers; 569 | } 570 | 571 | - (void)restoreSuperviewAfterSnapshot:(NSArray *)hiddenLayers 572 | { 573 | for (CALayer *layer in hiddenLayers) 574 | { 575 | layer.hidden = NO; 576 | } 577 | } 578 | 579 | - (UIImage *)blurredSnapshot:(UIImage *)snapshot radius:(CGFloat)blurRadius 580 | { 581 | return [snapshot blurredImageWithRadius:blurRadius 582 | iterations:self.iterations 583 | tintColor:self.tintColor]; 584 | } 585 | 586 | - (void)setLayerContents:(UIImage *)image 587 | { 588 | self.layer.contents = (id)image.CGImage; 589 | self.layer.contentsScale = image.scale; 590 | } 591 | 592 | - (void)updateAsynchronously:(BOOL)async completion:(void (^)())completion 593 | { 594 | if ([self shouldUpdate]) 595 | { 596 | UIImage *snapshot = [self snapshotOfUnderlyingView]; 597 | if (async) 598 | { 599 | dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 600 | 601 | UIImage *blurredImage = [self blurredSnapshot:snapshot radius:self.blurRadius]; 602 | dispatch_sync(dispatch_get_main_queue(), ^{ 603 | 604 | [self setLayerContents:blurredImage]; 605 | if (completion) completion(); 606 | }); 607 | }); 608 | } 609 | else 610 | { 611 | [self setLayerContents:[self blurredSnapshot:snapshot radius:[self blurPresentationLayer].blurRadius]]; 612 | if (completion) completion(); 613 | } 614 | } 615 | else if (completion) 616 | { 617 | completion(); 618 | } 619 | } 620 | 621 | @end 622 | -------------------------------------------------------------------------------- /DemoBuisness/Fonts/Gotham-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Fonts/Gotham-Bold.otf -------------------------------------------------------------------------------- /DemoBuisness/Fonts/Gotham-Book.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Fonts/Gotham-Book.otf -------------------------------------------------------------------------------- /DemoBuisness/Fonts/Gotham-Medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifhunk/TwitterAnimation/96d887ff423a9394114208fd77a91a34da599847/DemoBuisness/Fonts/Gotham-Medium.otf -------------------------------------------------------------------------------- /DemoBuisness/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /DemoBuisness/LinearProgressView/LinearProgressView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LinearProgressView.swift 3 | // LinearProgressBar 4 | // 5 | // Created by Saif Chaudhary on 1/22/17. 6 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 7 | import UIKit 8 | 9 | @IBDesignable 10 | open class LinearProgressView: UIView { 11 | 12 | @IBInspectable open var barColor: UIColor = UIColor.green 13 | @IBInspectable open var trackColor: UIColor = UIColor.yellow 14 | @IBInspectable open var barThickness: CGFloat = 10 15 | @IBInspectable open var barPadding: CGFloat = 0 16 | @IBInspectable open var trackPadding: CGFloat = 6 17 | @IBInspectable open var progressValue: CGFloat = 0 { 18 | didSet { 19 | if (progressValue >= 100) { 20 | progressValue = 100 21 | } else if (progressValue <= 0) { 22 | progressValue = 0 23 | } 24 | setNeedsDisplay() 25 | } 26 | } 27 | 28 | fileprivate var trackHeight: CGFloat { 29 | return barThickness + trackPadding 30 | } 31 | 32 | fileprivate var trackOffset: CGFloat { 33 | return trackHeight / 2 34 | } 35 | 36 | open override func draw(_ rect: CGRect) { 37 | drawProgressView() 38 | } 39 | 40 | // Draws the progress bar and track 41 | func drawProgressView() { 42 | let context = UIGraphicsGetCurrentContext() 43 | context?.saveGState() 44 | 45 | // Progres Bar Track 46 | context?.setStrokeColor(trackColor.cgColor) 47 | context?.beginPath() 48 | context?.setLineWidth(trackHeight) 49 | context?.move(to: CGPoint(x: barPadding + trackOffset, y: frame.size.height / 2)) 50 | context?.addLine(to: CGPoint(x: frame.size.width - barPadding - trackOffset, y: frame.size.height / 2)) 51 | context?.setLineCap(CGLineCap.round) 52 | context?.strokePath() 53 | 54 | // Progress Bar 55 | context?.setStrokeColor(barColor.cgColor) 56 | context?.setLineWidth(barThickness) 57 | context?.beginPath() 58 | context?.move(to: CGPoint(x: barPadding + trackOffset, y: frame.size.height / 2)) 59 | context?.addLine(to: CGPoint(x: barPadding + trackOffset + calcualtePercentage(), y: frame.size.height / 2)) 60 | context?.setLineCap(CGLineCap.round) 61 | context?.strokePath() 62 | 63 | context?.restoreGState() 64 | } 65 | 66 | /** 67 | Calculates the percent value of the progress bar 68 | 69 | - returns: The percentage of progress 70 | */ 71 | func calcualtePercentage() -> CGFloat { 72 | let screenWidth = frame.size.width - (barPadding * 2) - (trackOffset * 2) 73 | let progress = ((progressValue / 100) * screenWidth) 74 | return progress < 0 ? barPadding : progress 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /DemoBuisness/SWSegmentControl.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SWSegmentControl.swift 3 | // DemoBuisness 4 | // 5 | // Created by Saif Chaudhary on 1/22/17. 6 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @IBDesignable 12 | open class SWSegmentedControl: UIControl { 13 | 14 | private var selectionIndicatorView: UIView! 15 | private var buttons: [UIButton]? 16 | private var items: [String] = ["REVIEWS", "INFO","PHOTOS"] 17 | 18 | 19 | // Wait for a day UIFont will be inspectable 20 | @IBInspectable open var font: UIFont = fonts.Gotham.medium.font(fontSize(rawValue: CGFloat(16))!) { 21 | didSet { 22 | self.configureView() 23 | } 24 | } 25 | 26 | @IBInspectable open var titleColor: UIColor? { 27 | didSet { 28 | self.configureView() 29 | } 30 | } 31 | 32 | @IBInspectable open var unselectedTitleColor: UIColor? = UIColor.lightGray { 33 | didSet { 34 | self.configureView() 35 | } 36 | } 37 | 38 | @IBInspectable open var indicatorColor: UIColor? { 39 | didSet { 40 | self.configureView() 41 | } 42 | } 43 | 44 | @IBInspectable open var selectedSegmentIndex: Int = 0 { 45 | didSet { 46 | self.configureIndicator() 47 | 48 | if let buttons = self.buttons { 49 | for button in buttons { 50 | button.isSelected = false 51 | } 52 | 53 | let selectedButton = buttons[selectedSegmentIndex] 54 | selectedButton.isSelected = true 55 | } 56 | } 57 | } 58 | 59 | private var indicatorXConstraint: NSLayoutConstraint! 60 | 61 | @IBInspectable open var indicatorThickness: CGFloat = 3 { 62 | didSet { 63 | self.indicatorHeightConstraint.constant = self.indicatorThickness 64 | } 65 | } 66 | 67 | private var indicatorWidthConstraint: NSLayoutConstraint! 68 | 69 | @IBInspectable open var indicatorPadding: CGFloat = 0 { 70 | didSet { 71 | configureView() 72 | } 73 | } 74 | 75 | private var indicatorHeightConstraint: NSLayoutConstraint! 76 | 77 | var numberOfSegments: Int { 78 | return items.count 79 | } 80 | 81 | 82 | public init() { 83 | super.init(frame: CGRect.zero) 84 | self.commonInit() 85 | } 86 | 87 | override public init(frame: CGRect) { 88 | super.init(frame: frame) 89 | self.commonInit() 90 | } 91 | 92 | public required init?(coder: NSCoder) { 93 | super.init(coder: coder) 94 | self.commonInit() 95 | } 96 | 97 | public init(items: [String]) { 98 | super.init(frame: CGRect.zero) 99 | self.items = items 100 | self.commonInit() 101 | } 102 | 103 | private func commonInit() { 104 | self.backgroundColor = UIColor.clear 105 | self.initButtons() 106 | self.initIndicator() 107 | 108 | self.selectedSegmentIndex = 0 109 | } 110 | 111 | open override func prepareForInterfaceBuilder() { 112 | 113 | } 114 | 115 | open override func layoutSubviews() { 116 | super.layoutSubviews() 117 | 118 | // For autolayout 119 | self.configureIndicator() 120 | } 121 | 122 | private func initIndicator() { 123 | guard self.numberOfSegments > 0 else { return } 124 | 125 | let selectionIndicatorView = UIView() 126 | self.selectionIndicatorView = selectionIndicatorView 127 | 128 | selectionIndicatorView.translatesAutoresizingMaskIntoConstraints = false 129 | selectionIndicatorView.backgroundColor = self.tintColor 130 | self.addSubview(selectionIndicatorView) 131 | 132 | let xConstraint = NSLayoutConstraint(item: selectionIndicatorView, attribute: .centerX, relatedBy: .equal, toItem: self.xToItem, attribute: .centerX, multiplier: 1, constant: 0) 133 | self.indicatorXConstraint = xConstraint 134 | self.addConstraint(xConstraint) 135 | 136 | let yConstraint = NSLayoutConstraint(item: selectionIndicatorView, attribute: .bottom, relatedBy: .equal, toItem: self, attribute: .bottom, multiplier: 1, constant: 0) 137 | self.addConstraint(yConstraint) 138 | 139 | let wConstraint = NSLayoutConstraint(item: selectionIndicatorView, attribute: .width, relatedBy: .equal, toItem: self.wToItem, attribute: .width, multiplier: 1, constant: -(2 * indicatorPadding)) 140 | indicatorWidthConstraint = wConstraint 141 | self.addConstraint(wConstraint) 142 | 143 | let hConstraint = NSLayoutConstraint(item: selectionIndicatorView, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: self.indicatorThickness) 144 | self.indicatorHeightConstraint = hConstraint 145 | self.addConstraint(hConstraint) 146 | } 147 | 148 | private func initButtons() { 149 | guard self.numberOfSegments > 0 else { return } 150 | 151 | var views = [String: AnyObject]() 152 | var xVisualFormat = "H:|" 153 | let yVisualFormat = "V:|[button0]|" 154 | var previousButtonName: String? = nil 155 | 156 | var buttons = [UIButton]() 157 | defer { 158 | self.buttons = buttons 159 | } 160 | for index in 0.. String? { 191 | guard segment < self.items.count else { 192 | return nil 193 | } 194 | 195 | return self.items[segment] 196 | } 197 | 198 | open func setSelectedSegmentIndex(_ index: Int, animated: Bool = true) { 199 | if animated { 200 | UIView.animate(withDuration: 0.1, animations: { 201 | self.selectedSegmentIndex = index 202 | self.layoutIfNeeded() 203 | }) 204 | } else { 205 | self.selectedSegmentIndex = index 206 | } 207 | } 208 | 209 | override open func tintColorDidChange() { 210 | super.tintColorDidChange() 211 | 212 | self.configureView() 213 | } 214 | 215 | // MARK: - Appearance 216 | private func configureView() { 217 | self.configureIndicator() 218 | self.configureButtons() 219 | } 220 | 221 | private func colorToUse(_ color: UIColor?) -> UIColor { 222 | return color ?? self.tintColor 223 | } 224 | 225 | private func configureIndicator() { 226 | self.indicatorXConstraint.constant = CGFloat(self.selectedSegmentIndex) * self.itemWidth 227 | indicatorWidthConstraint.constant = -(2 * indicatorPadding) 228 | self.selectionIndicatorView.backgroundColor = self.colorToUse(self.indicatorColor) 229 | } 230 | 231 | private func configureButtons() { 232 | guard let buttons = self.buttons else { 233 | return 234 | } 235 | 236 | for button in buttons { 237 | self.configureButton(button) 238 | } 239 | } 240 | 241 | private func configureButton(_ button: UIButton) { 242 | button.titleLabel?.font = self.font 243 | button.setTitleColor(self.colorToUse(self.titleColor), for: .selected) 244 | button.setTitleColor(self.unselectedTitleColor, for: UIControlState()) 245 | 246 | } 247 | 248 | // MARK: - Actions 249 | func didTapButton(_ button: UIButton) { 250 | guard let index = self.buttons?.index(of: button) else { 251 | return 252 | } 253 | 254 | self.setSelectedSegmentIndex(index) 255 | self.sendActions(for: .valueChanged) 256 | } 257 | 258 | // MARK: - Layout Helpers 259 | private var xToItem: UIView { 260 | return self.buttons![self.selectedSegmentIndex] 261 | } 262 | 263 | private var wToItem: UIView { 264 | 265 | return self.buttons![self.selectedSegmentIndex] 266 | } 267 | 268 | private var itemWidth: CGFloat { 269 | return self.bounds.size.width / CGFloat(self.numberOfSegments) 270 | } 271 | } 272 | -------------------------------------------------------------------------------- /DemoBuisness/TWTButton.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TWTButton.swift 3 | // TB_TwitterHeader 4 | // 5 | // Created by Saif Chaudhary on 1/22/17. 6 | // Copyright © 2017 Saif Chaudhary. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class TWTButton: UIButton { 12 | 13 | override func awakeFromNib() { 14 | 15 | self.layer.cornerRadius = 5.0 16 | self.layer.borderWidth = 1.0 17 | self.layer.borderColor = UIColor(red: 85.0/255.0, green: 172.0/255.0, blue: 238.0/255.0, alpha: 1.0).cgColor 18 | 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TwitterAnimation 2 | Twiiter animation with strechty header and tableview cells with differnt type 3 | 4 | 5 | ![](http://i.giphy.com/3oKIPnA0My1vQMIyBy.gif) 6 | --------------------------------------------------------------------------------