├── README.md
├── img
├── customClass.png
├── customcell.png
├── customchat.png
├── frame.png
└── launch.gif
├── 家教.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── 家教.xcscmblueprint
│ └── xcuserdata
│ │ └── goofy.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
└── xcuserdata
│ └── goofy.xcuserdatad
│ ├── xcdebugger
│ └── Breakpoints_v2.xcbkptlist
│ └── xcschemes
│ ├── xcschememanagement.plist
│ └── 家教.xcscheme
├── 家教
├── .DS_Store
├── 16.png
├── 18.png
├── 2.png
├── AFNetworking
│ ├── AFHTTPRequestOperation.h
│ ├── AFHTTPRequestOperation.m
│ ├── AFHTTPRequestOperationManager.h
│ ├── AFHTTPRequestOperationManager.m
│ ├── AFHTTPSessionManager.h
│ ├── AFHTTPSessionManager.m
│ ├── AFNetworkReachabilityManager.h
│ ├── AFNetworkReachabilityManager.m
│ ├── AFNetworking.h
│ ├── AFSecurityPolicy.h
│ ├── AFSecurityPolicy.m
│ ├── AFURLConnectionOperation.h
│ ├── AFURLConnectionOperation.m
│ ├── AFURLRequestSerialization.h
│ ├── AFURLRequestSerialization.m
│ ├── AFURLResponseSerialization.h
│ ├── AFURLResponseSerialization.m
│ ├── AFURLSessionManager.h
│ └── AFURLSessionManager.m
├── AddMessageViewController.swift
├── AppDelegate.swift
├── Assets.xcassets
│ ├── .DS_Store
│ ├── AppIcon.appiconset
│ │ ├── AppIcon29x29@2x-1.png
│ │ ├── AppIcon29x29@2x.png
│ │ ├── AppIcon29x29@3x-1.png
│ │ ├── AppIcon29x29@3x.png
│ │ ├── AppIcon40x40@2x-1.png
│ │ ├── AppIcon40x40@2x.png
│ │ ├── AppIcon40x40@3x.png
│ │ ├── AppIcon60x60@2x.png
│ │ ├── AppIcon60x60@3x.png
│ │ └── Contents.json
│ ├── Contents.json
│ ├── DianPing
│ │ ├── Contents.json
│ │ ├── dropdown_anim__0001.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__0001@2x.png
│ │ ├── dropdown_anim__00010.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00010@2x.png
│ │ ├── dropdown_anim__00011.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00011@2x.png
│ │ ├── dropdown_anim__00012.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00012@2x.png
│ │ ├── dropdown_anim__00013.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00013@2x.png
│ │ ├── dropdown_anim__00014.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00014@2x.png
│ │ ├── dropdown_anim__00015.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00015@2x.png
│ │ ├── dropdown_anim__00016.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00016@2x.png
│ │ ├── dropdown_anim__00017.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00017@2x.png
│ │ ├── dropdown_anim__00018.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00018@2x.png
│ │ ├── dropdown_anim__00019.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00019@2x.png
│ │ ├── dropdown_anim__0002.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__0002@2x.png
│ │ ├── dropdown_anim__00020.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00020@2x.png
│ │ ├── dropdown_anim__00021.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00021@2x.png
│ │ ├── dropdown_anim__00022.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00022@2x.png
│ │ ├── dropdown_anim__00023.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00023@2x.png
│ │ ├── dropdown_anim__00024.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00024@2x.png
│ │ ├── dropdown_anim__00025.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00025@2x.png
│ │ ├── dropdown_anim__00026.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00026@2x.png
│ │ ├── dropdown_anim__00027.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00027@2x.png
│ │ ├── dropdown_anim__00028.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00028@2x.png
│ │ ├── dropdown_anim__00029.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00029@2x.png
│ │ ├── dropdown_anim__0003.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__0003@2x.png
│ │ ├── dropdown_anim__00030.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00030@2x.png
│ │ ├── dropdown_anim__00031.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00031@2x.png
│ │ ├── dropdown_anim__00032.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00032@2x.png
│ │ ├── dropdown_anim__00033.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00033@2x.png
│ │ ├── dropdown_anim__00034.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00034@2x.png
│ │ ├── dropdown_anim__00035.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00035@2x.png
│ │ ├── dropdown_anim__00036.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00036@2x.png
│ │ ├── dropdown_anim__00037.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00037@2x.png
│ │ ├── dropdown_anim__00038.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00038@2x.png
│ │ ├── dropdown_anim__00039.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00039@2x.png
│ │ ├── dropdown_anim__0004.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__0004@2x.png
│ │ ├── dropdown_anim__00040.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00040@2x.png
│ │ ├── dropdown_anim__00041.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00041@2x.png
│ │ ├── dropdown_anim__00042.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00042@2x.png
│ │ ├── dropdown_anim__00043.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00043@2x.png
│ │ ├── dropdown_anim__00044.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00044@2x.png
│ │ ├── dropdown_anim__00045.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00045@2x.png
│ │ ├── dropdown_anim__00046.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00046@2x.png
│ │ ├── dropdown_anim__00047.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00047@2x.png
│ │ ├── dropdown_anim__00048.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00048@2x.png
│ │ ├── dropdown_anim__00049.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00049@2x.png
│ │ ├── dropdown_anim__0005.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__0005@2x.png
│ │ ├── dropdown_anim__00050.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00050@2x.png
│ │ ├── dropdown_anim__00051.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00051@2x.png
│ │ ├── dropdown_anim__00052.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00052@2x.png
│ │ ├── dropdown_anim__00053.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00053@2x.png
│ │ ├── dropdown_anim__00054.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00054@2x.png
│ │ ├── dropdown_anim__00055.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00055@2x.png
│ │ ├── dropdown_anim__00056.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00056@2x.png
│ │ ├── dropdown_anim__00057.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00057@2x.png
│ │ ├── dropdown_anim__00058.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00058@2x.png
│ │ ├── dropdown_anim__00059.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00059@2x.png
│ │ ├── dropdown_anim__0006.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__0006@2x.png
│ │ ├── dropdown_anim__00060.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__00060@2x.png
│ │ ├── dropdown_anim__0007.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__0007@2x.png
│ │ ├── dropdown_anim__0008.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__0008@2x.png
│ │ ├── dropdown_anim__0009.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_anim__0009@2x.png
│ │ ├── dropdown_loading_01.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_loading_01@2x.png
│ │ ├── dropdown_loading_02.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_loading_02@2x.png
│ │ └── dropdown_loading_03.imageset
│ │ │ ├── Contents.json
│ │ │ └── dropdown_loading_03@2x.png
│ ├── bg_login.imageset
│ │ ├── Contents.json
│ │ └── bg_login.png
│ ├── boy.imageset
│ │ ├── Contents.json
│ │ └── boy.png
│ ├── cell
│ │ ├── .DS_Store
│ │ ├── Contents.json
│ │ ├── animation
│ │ │ ├── Contents.json
│ │ │ ├── chat_animation1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── chat_animation1.png
│ │ │ ├── chat_animation2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── chat_animation2.png
│ │ │ ├── chat_animation3.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── chat_animation3.png
│ │ │ ├── chat_animation_white1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── chat_animation_white1.png
│ │ │ ├── chat_animation_white2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── chat_animation_white2.png
│ │ │ ├── chat_animation_white3.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── chat_animation_white3.png
│ │ │ └── headImage.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── headImage.png
│ │ ├── left_message_back.imageset
│ │ │ ├── Contents.json
│ │ │ └── chatfrom_bg_normal.png
│ │ └── right_message_back.imageset
│ │ │ ├── Contents.json
│ │ │ └── chatto_bg_normal.png
│ ├── freeTime
│ │ ├── Contents.json
│ │ ├── ic_week_course_half_bg_0.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_tuhuang.png
│ │ │ └── ic_week_course_half_bg_tuhuang@2x.png
│ │ ├── ic_week_course_half_bg_1.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_3baedd.png
│ │ │ └── ic_week_course_half_bg_3baedd@2x.png
│ │ ├── ic_week_course_half_bg_10.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_e3759c.png
│ │ │ └── ic_week_course_half_bg_e3759c@2x.png
│ │ ├── ic_week_course_half_bg_11.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_ededed.png
│ │ │ └── ic_week_course_half_bg_ededed@2x.png
│ │ ├── ic_week_course_half_bg_12.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_f9b844.png
│ │ │ └── ic_week_course_half_bg_f9b844@2x.png
│ │ ├── ic_week_course_half_bg_13.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_f38181.png
│ │ │ └── ic_week_course_half_bg_f38181@2x.png
│ │ ├── ic_week_course_half_bg_14.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_kafei.png
│ │ │ └── ic_week_course_half_bg_kafei@2x.png
│ │ ├── ic_week_course_half_bg_15.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_molan.png
│ │ │ └── ic_week_course_half_bg_molan@2x.png
│ │ ├── ic_week_course_half_bg_2.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_6f92e2.png
│ │ │ └── ic_week_course_half_bg_6f92e2@2x.png
│ │ ├── ic_week_course_half_bg_3.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_9d86d0.png
│ │ │ └── ic_week_course_half_bg_9d86d0@2x.png
│ │ ├── ic_week_course_half_bg_4.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_53ae91.png
│ │ │ └── ic_week_course_half_bg_53ae91@2x.png
│ │ ├── ic_week_course_half_bg_5.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_92c03c.png
│ │ │ └── ic_week_course_half_bg_92c03c@2x.png
│ │ ├── ic_week_course_half_bg_6.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_bohelv.png
│ │ │ └── ic_week_course_half_bg_bohelv@2x.png
│ │ ├── ic_week_course_half_bg_7.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_cheng.png
│ │ │ └── ic_week_course_half_bg_cheng@2x.png
│ │ └── ic_week_course_half_bg_8.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_week_course_half_bg_cyan.png
│ │ │ └── ic_week_course_half_bg_cyan@2x.png
│ ├── girl-1.imageset
│ │ ├── Contents.json
│ │ └── girl.png
│ ├── girl.imageset
│ │ ├── Contents.json
│ │ └── girl.png
│ ├── input
│ │ ├── Contents.json
│ │ ├── chat_send_message.imageset
│ │ │ ├── Contents.json
│ │ │ └── chat_send_message.png
│ │ ├── chat_take_picture.imageset
│ │ │ ├── Chat_take_picture.png
│ │ │ └── Contents.json
│ │ └── chat_voice_record.imageset
│ │ │ ├── Contents.json
│ │ │ └── chat_voice_record.png
│ ├── launch
│ │ ├── Contents.json
│ │ └── launch.imageset
│ │ │ ├── Contents.json
│ │ │ ├── launch@2x.png
│ │ │ └── launch@3x.png
│ ├── message.imageset
│ │ ├── Contents.json
│ │ └── message.png
│ ├── navigationbar_back.imageset
│ │ ├── Contents.json
│ │ ├── navigationbar_back@2x.png
│ │ └── navigationbar_back@3x.png
│ ├── new_feature_share_false.imageset
│ │ ├── Contents.json
│ │ └── new_feature_share_false@2x.png
│ ├── new_feature_share_true.imageset
│ │ ├── Contents.json
│ │ └── new_feature_share_true@2x.png
│ ├── profile
│ │ ├── Contents.json
│ │ ├── collect.imageset
│ │ │ ├── Contents.json
│ │ │ └── collect@2x.png
│ │ ├── footprint.imageset
│ │ │ ├── Contents.json
│ │ │ └── footprint@2x.png
│ │ ├── freeTimeTable.imageset
│ │ │ ├── Contents.json
│ │ │ └── freeTimeTable@2x.png
│ │ ├── historyActivity.imageset
│ │ │ ├── Contents.json
│ │ │ └── historyActivity@2x.png
│ │ ├── mySetting.imageset
│ │ │ ├── Contents.json
│ │ │ └── mySetting@2x.png
│ │ ├── realName.imageset
│ │ │ ├── Contents.json
│ │ │ └── realName@2x.png
│ │ └── setting.imageset
│ │ │ ├── Contents.json
│ │ │ └── setting.png
│ ├── tabbar_compose_icon_add.imageset
│ │ ├── Contents.json
│ │ ├── tabbar_compose_icon_add@2x.png
│ │ └── tabbar_compose_icon_add@3x.png
│ ├── tabbar_compose_icon_add_highlighted.imageset
│ │ ├── Contents.json
│ │ ├── tabbar_compose_icon_add_highlighted@2x.png
│ │ └── tabbar_compose_icon_add_highlighted@3x.png
│ ├── tabbar_compose_idea.imageset
│ │ ├── Contents.json
│ │ ├── tabbar_compose_idea@2x.png
│ │ └── tabbar_compose_idea@3x.png
│ ├── touxiang.imageset
│ │ ├── Contents.json
│ │ └── touxiang.jpeg
│ └── xingxing.imageset
│ │ ├── Contents.json
│ │ └── xingxing_yellow@2x.png
├── Base.lproj
│ └── LaunchScreen.storyboard
├── Bridging-Header.h
├── CannotLoginViiewController.swift
├── ChatListTableViewCell.swift
├── ChatListTableViewCell.xib
├── ChatListViewController.swift
├── CustomAlertView.swift
├── CustomFrauleinViewCell.swift
├── CustomFrauleinViewCell.xib
├── CustomTextField.swift
├── DeviceData.swift
├── FamilyInfoViewController.swift
├── FindFamilyAndVolunController.swift
├── FreeTimeSettingViewController.swift
├── FreeTimeTableViewController.swift
├── GetData.h
├── GetData.m
├── GuillotineMenuSegue.swift
├── GuillotineMenuTransitionAnimation.swift
├── GuillotineMenuViewController.swift
├── HistoryActivityViewController.swift
├── HomeTabBarView.swift
├── HomeTabBarViewController.swift
├── HttpRequest.swift
├── Info.plist
├── LoginViewController.swift
├── MJExtension
│ ├── MJDictionaryCache.h
│ ├── MJDictionaryCache.m
│ ├── MJExtension.h
│ ├── MJExtensionConst.h
│ ├── MJExtensionConst.m
│ ├── MJFoundation.h
│ ├── MJFoundation.m
│ ├── MJProperty.h
│ ├── MJProperty.m
│ ├── MJPropertyKey.h
│ ├── MJPropertyKey.m
│ ├── MJPropertyType.h
│ ├── MJPropertyType.m
│ ├── NSObject+MJClass.h
│ ├── NSObject+MJClass.m
│ ├── NSObject+MJCoding.h
│ ├── NSObject+MJCoding.m
│ ├── NSObject+MJKeyValue.h
│ ├── NSObject+MJKeyValue.m
│ ├── NSObject+MJProperty.h
│ ├── NSObject+MJProperty.m
│ ├── NSString+MJExtension.h
│ └── NSString+MJExtension.m
├── MJRefresh
│ ├── Base
│ │ ├── MJRefreshAutoFooter.h
│ │ ├── MJRefreshAutoFooter.m
│ │ ├── MJRefreshBackFooter.h
│ │ ├── MJRefreshBackFooter.m
│ │ ├── MJRefreshComponent.h
│ │ ├── MJRefreshComponent.m
│ │ ├── MJRefreshFooter.h
│ │ ├── MJRefreshFooter.m
│ │ ├── MJRefreshHeader.h
│ │ └── MJRefreshHeader.m
│ ├── Custom
│ │ ├── Footer
│ │ │ ├── Auto
│ │ │ │ ├── MJRefreshAutoGifFooter.h
│ │ │ │ ├── MJRefreshAutoGifFooter.m
│ │ │ │ ├── MJRefreshAutoNormalFooter.h
│ │ │ │ ├── MJRefreshAutoNormalFooter.m
│ │ │ │ ├── MJRefreshAutoStateFooter.h
│ │ │ │ └── MJRefreshAutoStateFooter.m
│ │ │ └── Back
│ │ │ │ ├── MJRefreshBackGifFooter.h
│ │ │ │ ├── MJRefreshBackGifFooter.m
│ │ │ │ ├── MJRefreshBackNormalFooter.h
│ │ │ │ ├── MJRefreshBackNormalFooter.m
│ │ │ │ ├── MJRefreshBackStateFooter.h
│ │ │ │ └── MJRefreshBackStateFooter.m
│ │ └── Header
│ │ │ ├── MJRefreshGifHeader.h
│ │ │ ├── MJRefreshGifHeader.m
│ │ │ ├── MJRefreshNormalHeader.h
│ │ │ ├── MJRefreshNormalHeader.m
│ │ │ ├── MJRefreshStateHeader.h
│ │ │ └── MJRefreshStateHeader.m
│ ├── LoadAlert.swift
│ ├── LoadAlert.xib
│ ├── MJRefresh.bundle
│ │ └── arrow@2x.png
│ ├── MJRefresh.h
│ ├── MJRefreshConst.h
│ ├── MJRefreshConst.m
│ ├── UIScrollView+MJExtension.h
│ ├── UIScrollView+MJExtension.m
│ ├── UIScrollView+MJRefresh.h
│ ├── UIScrollView+MJRefresh.m
│ ├── UIView+MJExtension.h
│ └── UIView+MJExtension.m
├── Main.storyboard
├── Parents.h
├── Parents.m
├── ProfileSetViewController.swift
├── RealName ViewController.swift
├── SearchViewController.swift
├── SignUpViewController.swift
├── Student.h
├── Student.m
├── SystemSettingVewController.swift
├── UIColorExtension.swift
├── UIViewExtension.swift
├── UUChat
│ ├── ChatViewController.swift
│ ├── UUChatLeftMessageCell.swift
│ ├── UUChatRightMessageCell.swift
│ └── UUInputView.swift
├── ViewController.swift
├── __.xcdatamodeld
│ ├── .xccurrentversion
│ └── __.xcdatamodel
│ │ └── contents
├── add-1.png
├── add-2.png
├── add-3.png
├── add-4.png
├── bg_login.png
├── bg_setr.png
├── boy.png
├── bt_login.png
├── bt_setr_submit.png
├── bt_signin.png
├── camera.png
├── cellCollect.png
├── cellComment.png
├── cellLike.png
├── cell_share.png
├── cell_share24px.png
├── collect.png
├── collect_selecte.png
├── editMyProfile.png
├── girl.png
├── ic_menuL@3x.png
├── ic_menuRotatedL@3x.png
├── kechengbiaoBg.png
├── libraries
│ └── extends
│ │ ├── QQSDK
│ │ └── .DS_Store
│ │ ├── SinaWeiboSDK
│ │ └── .DS_Store
│ │ └── WeChatSDK
│ │ └── .DS_Store
├── line.png
├── message.png
├── messageCountImage.png
├── navigationbar_back@2x.png
├── navigationbar_back@3x.png
├── personalIDcard.png
├── profile-Like.png
├── progile-2.png
├── progile-zan.png
├── search_bar.png
└── setting.png
├── 家教Tests
├── Info.plist
└── __Tests.swift
└── 家教UITests
├── Info.plist
└── __UITests.swift
/README.md:
--------------------------------------------------------------------------------
1 | ## FamilyEducationApp
2 | > ####开发环境:xcode 7.1 /ios >= 8.0
3 | ###项目简介
4 | >框架采用MVC结构。按功能界面划分。
5 | Model存放对应功能模块的数据模型
6 | View存放对应功能界面的View视图和重定义视图
7 | Controller存放对应功能视图的视图控制器。
8 | ####项目展示图片
9 | 启动图片
10 | 
11 | #####Other目录存放内容
12 | AppDelegate.swift
13 | 以及swift oc桥接头文件
14 | 系统的一些单例数据
15 | DeviceData.swift
16 | Extension
17 | 用户自定义的一些公共的类拓展。
18 |
19 | #####外部引入的一些框架
20 | * MJRefresh
21 | * AFNetWorking
22 | * MJExtension
23 | 等等
24 |
25 | #####项目注意事项
26 | 图片暂时未归类。使用较多的和 尺寸较为规范的 @2x 和 @3x 放入Assets.xcassets
27 | 测试图片暂时放入ImageE目录 图片格式规定注明@2x 和 @3X
28 | 程序支持CoreData本地持久数据化存储,加载网络数据采用 异步多线程网络请求,经常使用的数据需加入缓存
29 | #####自定义视图
30 | * 自定义消息显示
31 | 文件CustomFrauleinViewCell.swift 自适应高度,假如NSCache缓存,滑动不会出现内存暴增
32 | 图片展示
33 |
34 |
35 | 
36 | * 自定义聊天
37 | UUChat StoryBoard布局。之前github一个大牛写的。可以直接拿来用的。用的时候把UUchat拖过去和storyBoard文件拖过去。做好关联即可
38 | 图片展示
39 |
40 | 
41 | * 自定义课程表视图
42 | 这个是用贝塞尔曲线画出来的。当然也会有其他的方法。小编goofyy就抛砖引玉啦。大家尽管自己根据自己的想法尽管做。
43 | 图片展示
44 |
45 | 
46 |
47 |
48 | #### License
49 |
50 | 本项目采用 MIT license 开源,你可以利用采用该协议的代码做任何事情,只需要继续继承 MIT 协议即可。
51 |
52 |
--------------------------------------------------------------------------------
/img/customClass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/img/customClass.png
--------------------------------------------------------------------------------
/img/customcell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/img/customcell.png
--------------------------------------------------------------------------------
/img/customchat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/img/customchat.png
--------------------------------------------------------------------------------
/img/frame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/img/frame.png
--------------------------------------------------------------------------------
/img/launch.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/img/launch.gif
--------------------------------------------------------------------------------
/家教.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/家教.xcodeproj/project.xcworkspace/xcshareddata/家教.xcscmblueprint:
--------------------------------------------------------------------------------
1 | {
2 | "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "D43F6249EE6402871BF0AC145C87EDB4E0DABFC3",
3 | "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
4 |
5 | },
6 | "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
7 | "0B62AB67B7453DE29F3BBA14543BA036368D44CB" : 0,
8 | "D43F6249EE6402871BF0AC145C87EDB4E0DABFC3" : 0
9 | },
10 | "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "05D1D08F-B886-4D58-AF24-0107B1AA890C",
11 | "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
12 | "0B62AB67B7453DE29F3BBA14543BA036368D44CB" : "..",
13 | "D43F6249EE6402871BF0AC145C87EDB4E0DABFC3" : "%E5%AE%B6%E6%95%99\/"
14 | },
15 | "DVTSourceControlWorkspaceBlueprintNameKey" : "家教",
16 | "DVTSourceControlWorkspaceBlueprintVersion" : 204,
17 | "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "家教.xcodeproj",
18 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
19 | {
20 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/goooooooofy\/NSURLSession-Download.git",
21 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
22 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "0B62AB67B7453DE29F3BBA14543BA036368D44CB"
23 | },
24 | {
25 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/git.coding.net\/ihat\/FamilyEducationIOS.git",
26 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
27 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "D43F6249EE6402871BF0AC145C87EDB4E0DABFC3"
28 | }
29 | ]
30 | }
--------------------------------------------------------------------------------
/家教.xcodeproj/project.xcworkspace/xcuserdata/goofy.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教.xcodeproj/project.xcworkspace/xcuserdata/goofy.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/家教.xcodeproj/xcuserdata/goofy.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | 家教.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | FC3F278E1BD4F2BB00CE0737
16 |
17 | primary
18 |
19 |
20 | FC3F27A51BD4F2BB00CE0737
21 |
22 | primary
23 |
24 |
25 | FC3F27B01BD4F2BB00CE0737
26 |
27 | primary
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/家教/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/.DS_Store
--------------------------------------------------------------------------------
/家教/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/16.png
--------------------------------------------------------------------------------
/家教/18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/18.png
--------------------------------------------------------------------------------
/家教/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/2.png
--------------------------------------------------------------------------------
/家教/AFNetworking/AFNetworking.h:
--------------------------------------------------------------------------------
1 | // AFNetworking.h
2 | //
3 | // Copyright (c) 2013 AFNetworking (http://afnetworking.com/)
4 | //
5 | // Permission is hereby granted, free of charge, to any person obtaining a copy
6 | // of this software and associated documentation files (the "Software"), to deal
7 | // in the Software without restriction, including without limitation the rights
8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | // copies of the Software, and to permit persons to whom the Software is
10 | // furnished to do so, subject to the following conditions:
11 | //
12 | // The above copyright notice and this permission notice shall be included in
13 | // all copies or substantial portions of the Software.
14 | //
15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | // THE SOFTWARE.
22 |
23 | #import
24 | #import
25 |
26 | #ifndef _AFNETWORKING_
27 | #define _AFNETWORKING_
28 |
29 | #import "AFURLRequestSerialization.h"
30 | #import "AFURLResponseSerialization.h"
31 | #import "AFSecurityPolicy.h"
32 | #if !TARGET_OS_WATCH
33 | #import "AFNetworkReachabilityManager.h"
34 | #import "AFURLConnectionOperation.h"
35 | #import "AFHTTPRequestOperation.h"
36 | #import "AFHTTPRequestOperationManager.h"
37 | #endif
38 |
39 | #if ( ( defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090) || \
40 | ( defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 ) || \
41 | TARGET_OS_WATCH )
42 | #import "AFURLSessionManager.h"
43 | #import "AFHTTPSessionManager.h"
44 | #endif
45 |
46 | #endif /* _AFNETWORKING_ */
47 |
--------------------------------------------------------------------------------
/家教/AddMessageViewController.swift:
--------------------------------------------------------------------------------
1 |
2 | //
3 | // AddMessageViewController.swift
4 | // 家教
5 | //
6 | // Created by goofygao on 15/11/4.
7 | // Copyright © 2015年 goofyy. All rights reserved.
8 | //
9 |
10 | import UIKit
11 |
12 | class AddMessageViewController: UIViewController {
13 |
14 | override func viewDidLoad() {
15 | super.viewDidLoad()
16 | // self.initView()
17 | }
18 |
19 |
20 | /**
21 | * 初始化view
22 | */
23 |
24 | func initView() {
25 | let rightButton = UIButton(type: .Custom)
26 | rightButton.tintColor = UIColor.redColor()
27 | rightButton.titleLabel?.text = "发布"
28 | rightButton.sizeToFit()
29 | let rightItemDone = UIBarButtonItem(customView: rightButton)
30 | self.navigationItem.rightBarButtonItem = rightItemDone
31 |
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/家教/Assets.xcassets/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/.DS_Store
--------------------------------------------------------------------------------
/家教/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x-1.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x-1.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x-1.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0001.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__0001@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0001.imageset/dropdown_anim__0001@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__0001.imageset/dropdown_anim__0001@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00010.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00010@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00010.imageset/dropdown_anim__00010@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00010.imageset/dropdown_anim__00010@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00011.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00011@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00011.imageset/dropdown_anim__00011@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00011.imageset/dropdown_anim__00011@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00012.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00012@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00012.imageset/dropdown_anim__00012@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00012.imageset/dropdown_anim__00012@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00013.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00013@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00013.imageset/dropdown_anim__00013@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00013.imageset/dropdown_anim__00013@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00014.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00014@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00014.imageset/dropdown_anim__00014@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00014.imageset/dropdown_anim__00014@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00015.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00015@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00015.imageset/dropdown_anim__00015@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00015.imageset/dropdown_anim__00015@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00016.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00016@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00016.imageset/dropdown_anim__00016@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00016.imageset/dropdown_anim__00016@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00017.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00017@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00017.imageset/dropdown_anim__00017@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00017.imageset/dropdown_anim__00017@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00018.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00018@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00018.imageset/dropdown_anim__00018@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00018.imageset/dropdown_anim__00018@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00019.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00019@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00019.imageset/dropdown_anim__00019@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00019.imageset/dropdown_anim__00019@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0002.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__0002@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0002.imageset/dropdown_anim__0002@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__0002.imageset/dropdown_anim__0002@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00020.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00020@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00020.imageset/dropdown_anim__00020@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00020.imageset/dropdown_anim__00020@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00021.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00021@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00021.imageset/dropdown_anim__00021@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00021.imageset/dropdown_anim__00021@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00022.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00022@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00022.imageset/dropdown_anim__00022@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00022.imageset/dropdown_anim__00022@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00023.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00023@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00023.imageset/dropdown_anim__00023@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00023.imageset/dropdown_anim__00023@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00024.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00024@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00024.imageset/dropdown_anim__00024@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00024.imageset/dropdown_anim__00024@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00025.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00025@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00025.imageset/dropdown_anim__00025@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00025.imageset/dropdown_anim__00025@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00026.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00026@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00026.imageset/dropdown_anim__00026@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00026.imageset/dropdown_anim__00026@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00027.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00027@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00027.imageset/dropdown_anim__00027@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00027.imageset/dropdown_anim__00027@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00028.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00028@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00028.imageset/dropdown_anim__00028@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00028.imageset/dropdown_anim__00028@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00029.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00029@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00029.imageset/dropdown_anim__00029@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00029.imageset/dropdown_anim__00029@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0003.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__0003@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0003.imageset/dropdown_anim__0003@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__0003.imageset/dropdown_anim__0003@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00030.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00030@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00030.imageset/dropdown_anim__00030@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00030.imageset/dropdown_anim__00030@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00031.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00031@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00031.imageset/dropdown_anim__00031@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00031.imageset/dropdown_anim__00031@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00032.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00032@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00032.imageset/dropdown_anim__00032@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00032.imageset/dropdown_anim__00032@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00033.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00033@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00033.imageset/dropdown_anim__00033@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00033.imageset/dropdown_anim__00033@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00034.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00034@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00034.imageset/dropdown_anim__00034@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00034.imageset/dropdown_anim__00034@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00035.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00035@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00035.imageset/dropdown_anim__00035@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00035.imageset/dropdown_anim__00035@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00036.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00036@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00036.imageset/dropdown_anim__00036@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00036.imageset/dropdown_anim__00036@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00037.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00037@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00037.imageset/dropdown_anim__00037@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00037.imageset/dropdown_anim__00037@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00038.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00038@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00038.imageset/dropdown_anim__00038@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00038.imageset/dropdown_anim__00038@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00039.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00039@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00039.imageset/dropdown_anim__00039@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00039.imageset/dropdown_anim__00039@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0004.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__0004@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0004.imageset/dropdown_anim__0004@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__0004.imageset/dropdown_anim__0004@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00040.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00040@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00040.imageset/dropdown_anim__00040@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00040.imageset/dropdown_anim__00040@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00041.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00041@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00041.imageset/dropdown_anim__00041@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00041.imageset/dropdown_anim__00041@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00042.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00042@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00042.imageset/dropdown_anim__00042@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00042.imageset/dropdown_anim__00042@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00043.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00043@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00043.imageset/dropdown_anim__00043@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00043.imageset/dropdown_anim__00043@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00044.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00044@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00044.imageset/dropdown_anim__00044@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00044.imageset/dropdown_anim__00044@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00045.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00045@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00045.imageset/dropdown_anim__00045@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00045.imageset/dropdown_anim__00045@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00046.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00046@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00046.imageset/dropdown_anim__00046@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00046.imageset/dropdown_anim__00046@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00047.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00047@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00047.imageset/dropdown_anim__00047@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00047.imageset/dropdown_anim__00047@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00048.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00048@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00048.imageset/dropdown_anim__00048@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00048.imageset/dropdown_anim__00048@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00049.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00049@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00049.imageset/dropdown_anim__00049@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00049.imageset/dropdown_anim__00049@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0005.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__0005@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0005.imageset/dropdown_anim__0005@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__0005.imageset/dropdown_anim__0005@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00050.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00050@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00050.imageset/dropdown_anim__00050@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00050.imageset/dropdown_anim__00050@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00051.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00051@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00051.imageset/dropdown_anim__00051@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00051.imageset/dropdown_anim__00051@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00052.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00052@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00052.imageset/dropdown_anim__00052@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00052.imageset/dropdown_anim__00052@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00053.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00053@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00053.imageset/dropdown_anim__00053@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00053.imageset/dropdown_anim__00053@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00054.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00054@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00054.imageset/dropdown_anim__00054@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00054.imageset/dropdown_anim__00054@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00055.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00055@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00055.imageset/dropdown_anim__00055@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00055.imageset/dropdown_anim__00055@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00056.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00056@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00056.imageset/dropdown_anim__00056@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00056.imageset/dropdown_anim__00056@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00057.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00057@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00057.imageset/dropdown_anim__00057@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00057.imageset/dropdown_anim__00057@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00058.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00058@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00058.imageset/dropdown_anim__00058@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00058.imageset/dropdown_anim__00058@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00059.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00059@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00059.imageset/dropdown_anim__00059@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00059.imageset/dropdown_anim__00059@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0006.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__0006@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0006.imageset/dropdown_anim__0006@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__0006.imageset/dropdown_anim__0006@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00060.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__00060@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__00060.imageset/dropdown_anim__00060@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__00060.imageset/dropdown_anim__00060@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0007.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__0007@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0007.imageset/dropdown_anim__0007@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__0007.imageset/dropdown_anim__0007@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0008.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__0008@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0008.imageset/dropdown_anim__0008@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__0008.imageset/dropdown_anim__0008@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0009.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_anim__0009@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_anim__0009.imageset/dropdown_anim__0009@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_anim__0009.imageset/dropdown_anim__0009@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_loading_01.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_loading_01@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_loading_01.imageset/dropdown_loading_01@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_loading_01.imageset/dropdown_loading_01@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_loading_02.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_loading_02@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_loading_02.imageset/dropdown_loading_02@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_loading_02.imageset/dropdown_loading_02@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_loading_03.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "dropdown_loading_03@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/DianPing/dropdown_loading_03.imageset/dropdown_loading_03@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/DianPing/dropdown_loading_03.imageset/dropdown_loading_03@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/bg_login.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "bg_login.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/bg_login.imageset/bg_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/bg_login.imageset/bg_login.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/boy.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "boy.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/boy.imageset/boy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/boy.imageset/boy.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/cell/.DS_Store
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "chat_animation1.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation1.imageset/chat_animation1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/cell/animation/chat_animation1.imageset/chat_animation1.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "chat_animation2.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation2.imageset/chat_animation2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/cell/animation/chat_animation2.imageset/chat_animation2.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "chat_animation3.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation3.imageset/chat_animation3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/cell/animation/chat_animation3.imageset/chat_animation3.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation_white1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "chat_animation_white1.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation_white1.imageset/chat_animation_white1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/cell/animation/chat_animation_white1.imageset/chat_animation_white1.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation_white2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "chat_animation_white2.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation_white2.imageset/chat_animation_white2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/cell/animation/chat_animation_white2.imageset/chat_animation_white2.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation_white3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "chat_animation_white3.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/chat_animation_white3.imageset/chat_animation_white3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/cell/animation/chat_animation_white3.imageset/chat_animation_white3.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/headImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "headImage.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/animation/headImage.imageset/headImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/cell/animation/headImage.imageset/headImage.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/left_message_back.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "resizing" : {
5 | "mode" : "9-part",
6 | "center" : {
7 | "mode" : "tile",
8 | "width" : 1,
9 | "height" : 1
10 | },
11 | "cap-insets" : {
12 | "bottom" : 16,
13 | "top" : 38,
14 | "right" : 10,
15 | "left" : 21
16 | }
17 | },
18 | "idiom" : "universal",
19 | "filename" : "chatfrom_bg_normal.png",
20 | "scale" : "1x"
21 | },
22 | {
23 | "idiom" : "universal",
24 | "scale" : "2x"
25 | },
26 | {
27 | "idiom" : "universal",
28 | "scale" : "3x"
29 | }
30 | ],
31 | "info" : {
32 | "version" : 1,
33 | "author" : "xcode"
34 | }
35 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/left_message_back.imageset/chatfrom_bg_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/cell/left_message_back.imageset/chatfrom_bg_normal.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/right_message_back.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "resizing" : {
5 | "mode" : "9-part",
6 | "center" : {
7 | "mode" : "tile",
8 | "width" : 1,
9 | "height" : 1
10 | },
11 | "cap-insets" : {
12 | "bottom" : 14,
13 | "top" : 40,
14 | "right" : 22,
15 | "left" : 12
16 | }
17 | },
18 | "idiom" : "universal",
19 | "filename" : "chatto_bg_normal.png",
20 | "scale" : "1x"
21 | },
22 | {
23 | "idiom" : "universal",
24 | "scale" : "2x"
25 | },
26 | {
27 | "idiom" : "universal",
28 | "scale" : "3x"
29 | }
30 | ],
31 | "info" : {
32 | "version" : 1,
33 | "author" : "xcode"
34 | }
35 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/cell/right_message_back.imageset/chatto_bg_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/cell/right_message_back.imageset/chatto_bg_normal.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_0.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_tuhuang.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_tuhuang@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_0.imageset/ic_week_course_half_bg_tuhuang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_0.imageset/ic_week_course_half_bg_tuhuang.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_0.imageset/ic_week_course_half_bg_tuhuang@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_0.imageset/ic_week_course_half_bg_tuhuang@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_3baedd.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_3baedd@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_1.imageset/ic_week_course_half_bg_3baedd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_1.imageset/ic_week_course_half_bg_3baedd.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_1.imageset/ic_week_course_half_bg_3baedd@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_1.imageset/ic_week_course_half_bg_3baedd@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_10.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_e3759c.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_e3759c@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_10.imageset/ic_week_course_half_bg_e3759c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_10.imageset/ic_week_course_half_bg_e3759c.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_10.imageset/ic_week_course_half_bg_e3759c@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_10.imageset/ic_week_course_half_bg_e3759c@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_11.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_ededed.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_ededed@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_11.imageset/ic_week_course_half_bg_ededed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_11.imageset/ic_week_course_half_bg_ededed.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_11.imageset/ic_week_course_half_bg_ededed@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_11.imageset/ic_week_course_half_bg_ededed@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_12.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_f9b844.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_f9b844@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_12.imageset/ic_week_course_half_bg_f9b844.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_12.imageset/ic_week_course_half_bg_f9b844.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_12.imageset/ic_week_course_half_bg_f9b844@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_12.imageset/ic_week_course_half_bg_f9b844@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_13.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_f38181.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_f38181@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_13.imageset/ic_week_course_half_bg_f38181.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_13.imageset/ic_week_course_half_bg_f38181.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_13.imageset/ic_week_course_half_bg_f38181@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_13.imageset/ic_week_course_half_bg_f38181@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_14.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_kafei.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_kafei@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_14.imageset/ic_week_course_half_bg_kafei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_14.imageset/ic_week_course_half_bg_kafei.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_14.imageset/ic_week_course_half_bg_kafei@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_14.imageset/ic_week_course_half_bg_kafei@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_15.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_molan.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_molan@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_15.imageset/ic_week_course_half_bg_molan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_15.imageset/ic_week_course_half_bg_molan.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_15.imageset/ic_week_course_half_bg_molan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_15.imageset/ic_week_course_half_bg_molan@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_6f92e2.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_6f92e2@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_2.imageset/ic_week_course_half_bg_6f92e2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_2.imageset/ic_week_course_half_bg_6f92e2.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_2.imageset/ic_week_course_half_bg_6f92e2@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_2.imageset/ic_week_course_half_bg_6f92e2@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_9d86d0.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_9d86d0@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_3.imageset/ic_week_course_half_bg_9d86d0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_3.imageset/ic_week_course_half_bg_9d86d0.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_3.imageset/ic_week_course_half_bg_9d86d0@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_3.imageset/ic_week_course_half_bg_9d86d0@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_4.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_53ae91.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_53ae91@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_4.imageset/ic_week_course_half_bg_53ae91.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_4.imageset/ic_week_course_half_bg_53ae91.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_4.imageset/ic_week_course_half_bg_53ae91@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_4.imageset/ic_week_course_half_bg_53ae91@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_5.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_92c03c.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_92c03c@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_5.imageset/ic_week_course_half_bg_92c03c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_5.imageset/ic_week_course_half_bg_92c03c.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_5.imageset/ic_week_course_half_bg_92c03c@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_5.imageset/ic_week_course_half_bg_92c03c@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_6.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_bohelv.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_bohelv@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_6.imageset/ic_week_course_half_bg_bohelv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_6.imageset/ic_week_course_half_bg_bohelv.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_6.imageset/ic_week_course_half_bg_bohelv@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_6.imageset/ic_week_course_half_bg_bohelv@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_7.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_cheng.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_cheng@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_7.imageset/ic_week_course_half_bg_cheng.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_7.imageset/ic_week_course_half_bg_cheng.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_7.imageset/ic_week_course_half_bg_cheng@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_7.imageset/ic_week_course_half_bg_cheng@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_8.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_week_course_half_bg_cyan.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_week_course_half_bg_cyan@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_8.imageset/ic_week_course_half_bg_cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_8.imageset/ic_week_course_half_bg_cyan.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_8.imageset/ic_week_course_half_bg_cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/freeTime/ic_week_course_half_bg_8.imageset/ic_week_course_half_bg_cyan@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/girl-1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "girl.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/girl-1.imageset/girl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/girl-1.imageset/girl.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/girl.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "girl.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/girl.imageset/girl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/girl.imageset/girl.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/input/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/input/chat_send_message.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "chat_send_message.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/input/chat_send_message.imageset/chat_send_message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/input/chat_send_message.imageset/chat_send_message.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/input/chat_take_picture.imageset/Chat_take_picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/input/chat_take_picture.imageset/Chat_take_picture.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/input/chat_take_picture.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "Chat_take_picture.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/input/chat_voice_record.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "chat_voice_record.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/input/chat_voice_record.imageset/chat_voice_record.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/input/chat_voice_record.imageset/chat_voice_record.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/launch/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/launch/launch.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "launch@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "launch@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/launch/launch.imageset/launch@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/launch/launch.imageset/launch@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/launch/launch.imageset/launch@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/launch/launch.imageset/launch@3x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/message.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "message.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/message.imageset/message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/message.imageset/message.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/navigationbar_back.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "navigationbar_back@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "navigationbar_back@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/navigationbar_back.imageset/navigationbar_back@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/navigationbar_back.imageset/navigationbar_back@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/navigationbar_back.imageset/navigationbar_back@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/navigationbar_back.imageset/navigationbar_back@3x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/new_feature_share_false.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "new_feature_share_false@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/new_feature_share_false.imageset/new_feature_share_false@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/new_feature_share_false.imageset/new_feature_share_false@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/new_feature_share_true.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "new_feature_share_true@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/new_feature_share_true.imageset/new_feature_share_true@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/new_feature_share_true.imageset/new_feature_share_true@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/collect.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "collect@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/collect.imageset/collect@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/profile/collect.imageset/collect@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/footprint.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "footprint@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/footprint.imageset/footprint@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/profile/footprint.imageset/footprint@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/freeTimeTable.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "freeTimeTable@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/freeTimeTable.imageset/freeTimeTable@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/profile/freeTimeTable.imageset/freeTimeTable@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/historyActivity.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "historyActivity@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/historyActivity.imageset/historyActivity@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/profile/historyActivity.imageset/historyActivity@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/mySetting.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "mySetting@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/mySetting.imageset/mySetting@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/profile/mySetting.imageset/mySetting@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/realName.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "realName@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/realName.imageset/realName@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/profile/realName.imageset/realName@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/setting.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "setting.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/profile/setting.imageset/setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/profile/setting.imageset/setting.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/tabbar_compose_icon_add.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "tabbar_compose_icon_add@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "tabbar_compose_icon_add@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/tabbar_compose_icon_add.imageset/tabbar_compose_icon_add@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/tabbar_compose_icon_add.imageset/tabbar_compose_icon_add@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/tabbar_compose_icon_add.imageset/tabbar_compose_icon_add@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/tabbar_compose_icon_add.imageset/tabbar_compose_icon_add@3x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/tabbar_compose_icon_add_highlighted.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "tabbar_compose_icon_add_highlighted@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "tabbar_compose_icon_add_highlighted@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/tabbar_compose_icon_add_highlighted.imageset/tabbar_compose_icon_add_highlighted@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/tabbar_compose_icon_add_highlighted.imageset/tabbar_compose_icon_add_highlighted@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/tabbar_compose_icon_add_highlighted.imageset/tabbar_compose_icon_add_highlighted@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/tabbar_compose_icon_add_highlighted.imageset/tabbar_compose_icon_add_highlighted@3x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/tabbar_compose_idea.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "tabbar_compose_idea@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "tabbar_compose_idea@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/tabbar_compose_idea.imageset/tabbar_compose_idea@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/tabbar_compose_idea.imageset/tabbar_compose_idea@2x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/tabbar_compose_idea.imageset/tabbar_compose_idea@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/tabbar_compose_idea.imageset/tabbar_compose_idea@3x.png
--------------------------------------------------------------------------------
/家教/Assets.xcassets/touxiang.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "touxiang.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 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/touxiang.imageset/touxiang.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/touxiang.imageset/touxiang.jpeg
--------------------------------------------------------------------------------
/家教/Assets.xcassets/xingxing.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "xingxing_yellow@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/家教/Assets.xcassets/xingxing.imageset/xingxing_yellow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/Assets.xcassets/xingxing.imageset/xingxing_yellow@2x.png
--------------------------------------------------------------------------------
/家教/Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Bridging-Header.h
3 | // 家教
4 | //
5 | // Created by goofygao on 15/10/20.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | #ifndef Bridging_Header_h
10 | #define Bridging_Header_h
11 |
12 | #import "MJRefresh/MJRefresh.h"
13 | #import "MJExtension/MJExtension.h"
14 | #import "AFNetworking/AFNetworking.h"
15 | #import "Student.h"
16 | #import "Parents.h"
17 | #import "GetData.h"
18 | //#import
19 | #endif /* Bridging_Header_h */
20 |
--------------------------------------------------------------------------------
/家教/CannotLoginViiewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CannotLoginViiewController.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/15.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class CannotLoginViiewController: UIViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 | self.navigationController?.navigationBarHidden = false
16 | self.view.backgroundColor = UIColor(red: 65.0 / 255.0, green: 62.0 / 255.0, blue: 79.0 / 255.0, alpha: 1)
17 | let navBar = self.navigationController?.navigationBar
18 | navBar?.barTintColor = UIColor(red: 65.0 / 255.0, green: 62.0 / 255.0, blue: 79.0 / 255.0, alpha: 1)
19 | navBar?.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
20 | UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
21 | self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()
22 | self.title = "帮助中心"
23 | }
24 |
25 |
26 |
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/家教/ChatListTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ChatListTableViewCell.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/10/22.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ChatListTableViewCell: UITableViewCell {
12 | //头像
13 | @IBOutlet weak var chatAvaterImage: UIImageView!
14 | //昵称
15 | @IBOutlet weak var chatNickName: UILabel!
16 | //最近的一次消息
17 | @IBOutlet weak var chatRecentMessage: UILabel!
18 | //最近一次消息的时间
19 | @IBOutlet weak var chatRecentTime: UILabel!
20 |
21 | @IBOutlet weak var messageImageView: UIImageView!
22 | //信息的条数
23 | var messageNumerLabel = UILabel()
24 |
25 | override func awakeFromNib() {
26 | super.awakeFromNib()
27 | //头像加蒙版
28 | chatAvaterImage.layer.cornerRadius = chatAvaterImage.frame.height/2
29 | chatAvaterImage.layer.masksToBounds = true
30 | messageNumerLabel.center = messageImageView.center
31 | messageNumerLabel.frame.size = CGSizeMake(15, 15)
32 | messageNumerLabel.font = UIFont.systemFontOfSize(10)
33 | messageNumerLabel.textAlignment = NSTextAlignment.Center
34 | messageNumerLabel.text = "10"
35 | self.messageImageView.addSubview(messageNumerLabel)
36 | // self.
37 | // Initialization code
38 | }
39 |
40 | override func setSelected(selected: Bool, animated: Bool) {
41 | super.setSelected(selected, animated: animated)
42 |
43 | // Configure the view for the selected state
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/家教/CustomAlertView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CustomAlertView.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/23.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class CustomAlertView: UIView {
12 |
13 | override init(frame: CGRect) {
14 |
15 | super.init(frame: frame)
16 | self.layer.cornerRadius = 2
17 | self.layer.masksToBounds = true
18 | self.backgroundColor = UIColor(white: 0, alpha: 0.4)
19 | // UIColor(red: <#T##CGFloat#>, green: <#T##CGFloat#>, blue: <#T##CGFloat#>, alpha: <#T##CGFloat#>)
20 | }
21 |
22 | required init?(coder aDecoder: NSCoder) {
23 | fatalError("init(coder:) has not been implemented")
24 | }
25 |
26 | func loadAlertView() -> UIView {
27 | let acitivityView = UIActivityIndicatorView()
28 | acitivityView.center.x = self.center.x
29 | acitivityView.center.y = self.center.y - 10
30 | acitivityView.frame.size = CGSizeMake(50, 50)
31 | self.addSubview(acitivityView)
32 | acitivityView.startAnimating()
33 |
34 | let title = UILabel()
35 | title.text = "加载中..."
36 | title.font = UIFont.systemFontOfSize(14)
37 | title.frame = CGRectMake(0, self.frame.height - 21, self.frame.width, self.frame.height)
38 | title.textColor = UIColor(white: 0.8, alpha: 0.9)
39 | self.addSubview(title)
40 | return self
41 |
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/家教/CustomTextField.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CustomTextField.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/22.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class CustomTextField: UITextField {
12 |
13 | override init(frame: CGRect) {
14 | super.init(frame: frame)
15 |
16 | }
17 |
18 | required init?(coder aDecoder: NSCoder) {
19 | fatalError("init(coder:) has not been implemented")
20 | }
21 |
22 | override func drawPlaceholderInRect(rect: CGRect) {
23 | super.drawPlaceholderInRect(rect)
24 | //KVC KVO OBSERVER
25 | self.setValue(UIColor.whiteColor().CGColor, forKeyPath: "placeholderLabel.textColor")
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/家教/DeviceData.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeviceData.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/10/19.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | /**
11 | * 建立系统数据单例模式
12 | */
13 | struct DeviceData {
14 | static let height = UIScreen.mainScreen().bounds.height
15 | static let width = UIScreen.mainScreen().bounds.width
16 | static let bound = UIScreen.mainScreen().bounds
17 | }
--------------------------------------------------------------------------------
/家教/FreeTimeSettingViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // FreeTimeSettingViewController.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/30.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class FreeTimeSettingViewController: UIViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 | self.view.backgroundColor = UIColor(red: 65.0 / 255.0, green: 62.0 / 255.0, blue: 79.0 / 255.0, alpha: 1)
16 | let navBar = self.navigationController?.navigationBar
17 | navBar?.barTintColor = UIColor(red: 65.0 / 255.0, green: 62.0 / 255.0, blue: 79.0 / 255.0, alpha: 1)
18 | navBar?.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
19 |
20 |
21 | // Do any additional setup after loading the view.
22 | }
23 |
24 | override func didReceiveMemoryWarning() {
25 | super.didReceiveMemoryWarning()
26 | // Dispose of any resources that can be recreated.
27 | }
28 |
29 |
30 | /*
31 | // MARK: - Navigation
32 |
33 | // In a storyboard-based application, you will often want to do a little preparation before navigation
34 | override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
35 | // Get the new view controller using segue.destinationViewController.
36 | // Pass the selected object to the new view controller.
37 | }
38 | */
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/家教/GetData.h:
--------------------------------------------------------------------------------
1 | //
2 | // GetData.h
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/14.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "Student.h"
11 | #import "MJExtension.h"
12 | #import "AFNetworking.h"
13 |
14 | @interface GetData : NSObject
15 |
16 | - (void)loadMoreStatus;
17 |
18 | - (instancetype)init;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/家教/GetData.m:
--------------------------------------------------------------------------------
1 | //
2 | // GetData.m
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/14.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | #import "GetData.h"
10 |
11 |
12 | @interface GetData ()
13 |
14 | @property (nonatomic, strong) NSMutableArray *statuses;
15 |
16 | @end
17 |
18 | @implementation GetData
19 |
20 | - (instancetype)init
21 | {
22 | self = [super init];
23 | if (self) {
24 | [self loadMoreStatus];
25 | }
26 | return self;
27 | }
28 |
29 | //@property (nonatomic, strong) NSMutableArray *statuses;
30 | - (NSMutableArray *)statuses
31 | {
32 | if (_statuses == nil) {
33 | _statuses = [NSMutableArray array];
34 | }
35 | return _statuses;
36 | }
37 |
38 | - (void)loadMoreStatus
39 | {
40 | // 创建请求管理者
41 | AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
42 | // 创建一个参数字典
43 | NSMutableDictionary *params = [NSMutableDictionary dictionary];
44 | if (self.statuses.count) { // 有微博数据,才需要下拉刷新
45 | // long long maxId = [[[self.statuses lastObject] idstr] longLongValue] - 1;
46 | params[@"num"] = @"0";
47 | }
48 |
49 | // 发送get请求
50 | [mgr POST:@"http://115.29.54.119:888/Post/requryInfo" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { // 请求成功的时候调用
51 |
52 | // 结束上拉刷新
53 | // [self.tableView footerEndRefreshing];
54 |
55 | // 获取到微博数据 转换成模型
56 | // 获取微博字典数组
57 | NSArray *dictArr = responseObject[@"stu"];
58 | // 把字典数组转换成模型数组
59 | NSArray *statuses = (NSMutableArray *)[Student objectArrayWithKeyValuesArray:dictArr];
60 |
61 | // 把数组中的元素添加进去
62 | [self.statuses addObjectsFromArray:statuses];
63 |
64 | // 刷新表格
65 | // [self.tableView reloadData];
66 |
67 | } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
68 |
69 | }];
70 |
71 | }
72 |
73 |
74 |
75 |
76 |
77 | @end
78 |
--------------------------------------------------------------------------------
/家教/GuillotineMenuSegue.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GuillotineMenuSegue.swift
3 | // GuillotineMenu
4 | //
5 | // Created by Maksym Lazebnyi on 3/24/15.
6 | // Copyright (c) 2015 Yalantis. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | private var key = 0
12 |
13 | class GuillotineMenuSegue: UIStoryboardSegue {
14 | override init(identifier: String!, source: UIViewController, destination: UIViewController) {
15 |
16 | if let _ = destination as? protocol {
17 | // do nothing
18 | }else{
19 | assert(true, "Destination must conform to \(NSStringFromProtocol(GuillotineAnimationProtocol)) protocol")
20 | }
21 | super.init(identifier: identifier, source: source, destination: destination)
22 | }
23 |
24 | override func perform() {
25 | let source = sourceViewController
26 | let target = destinationViewController
27 |
28 | target.modalPresentationStyle = .Custom
29 | target.transitioningDelegate = self
30 |
31 | source.presentViewController(target, animated: true, completion: nil)
32 | }
33 | }
34 |
35 | extension GuillotineMenuSegue: UIViewControllerTransitioningDelegate {
36 | func animationControllerForPresentedController(presented: UIViewController, presentingController _: UIViewController,
37 | sourceController _: UIViewController) -> UIViewControllerAnimatedTransitioning? {
38 |
39 | objc_setAssociatedObject(presented, &key, self, (objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC))
40 | return GuillotineTransitionAnimation(.Presentation)
41 | }
42 |
43 | func animationControllerForDismissedController(dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
44 | return GuillotineTransitionAnimation(.Dismissal)
45 | }
46 | }
--------------------------------------------------------------------------------
/家教/HistoryActivityViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HistoryActivityViewController.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/30.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class HistoryActivityViewController: UITableViewController {
12 |
13 | let recentActivity = ["义务家教","棠下家教","家教中心","五邑大学","礼乐家教"]
14 | let recentActivityTime = ["2015-10-23","2015-10-29","2015-10-30","2015-11-2","2015-11-23"]
15 | override func viewDidLoad() {
16 | super.viewDidLoad()
17 | self.title = "历史活动"
18 | let navBar = self.navigationController?.navigationBar
19 | navBar?.barTintColor = UIColor(red: 65.0 / 255.0, green: 62.0 / 255.0, blue: 79.0 / 255.0, alpha: 1)
20 | navBar?.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
21 | navBar?.tintColor = UIColor.whiteColor()
22 | // Do any additional setup after loading the view.
23 | }
24 |
25 | override func didReceiveMemoryWarning() {
26 | super.didReceiveMemoryWarning()
27 | // Dispose of any resources that can be recreated.
28 | }
29 |
30 | override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
31 |
32 | }
33 |
34 | override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
35 | return recentActivityTime.count
36 | }
37 |
38 | override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
39 | let cell = tableView.dequeueReusableCellWithIdentifier("cell")
40 | cell?.textLabel?.text = recentActivity[indexPath.row]
41 | cell?.detailTextLabel?.text = recentActivityTime[indexPath.row]
42 |
43 | return cell!
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/家教/HomeTabBarView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HomeTabBarView.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/10/21.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class HomeTabBarView: UIView {
12 |
13 |
14 | override init(frame: CGRect) {
15 | super.init(frame: frame)
16 | }
17 |
18 | required init?(coder aDecoder: NSCoder) {
19 | fatalError("init(coder:) has not been implemented")
20 | }
21 |
22 |
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/家教/HomeTabBarViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HomeTabBarViewController.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/10/21.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class HomeTabBarViewController: UITabBarController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 |
16 | // Do any additional setup after loading the view.
17 | }
18 |
19 | override func didReceiveMemoryWarning() {
20 | super.didReceiveMemoryWarning()
21 | // Dispose of any resources that can be recreated.
22 | }
23 |
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/家教/HttpRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HttpRequest.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/12.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | //import Alamofire
11 |
12 |
13 | protocol HttpProtocol{
14 | func didReceiveResults(result:NSMutableArray)
15 | }
16 |
17 | class HttpRequest:NSObject{
18 | var studentStatus:NSMutableArray?
19 | var delegate:HttpProtocol?
20 |
21 | func loadNewData(pageNumber:Int) {
22 |
23 | let manager = AFHTTPRequestOperationManager()
24 | manager.responseSerializer.acceptableContentTypes = NSSet(object: "text/html") as Set
25 | let params:NSDictionary = ["num":"\(pageNumber)"]
26 | manager.POST("http://115.29.54.119:888/Post/requryInfo", parameters: params, success: { (operation, response) -> Void in
27 | let responseDic = response as? NSDictionary
28 | let dictArr:NSArray = (responseDic!["stu"] as? NSArray)!
29 | let array = [Student]()
30 | self.studentStatus = NSMutableArray(array: array)
31 | for var dict in dictArr {
32 | let studentBody = Student(dict: dict as! [NSObject : AnyObject])
33 | self.studentStatus?.addObject(studentBody)
34 |
35 |
36 | }
37 | self.delegate?.didReceiveResults(self.studentStatus!)
38 |
39 | }) { (operation, error) -> Void in
40 |
41 | }
42 |
43 | }
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/家教/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 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSApplicationCategoryType
24 |
25 | LSRequiresIPhoneOS
26 |
27 | NSAppTransportSecurity
28 |
29 | NSAllowsArbitraryLoads
30 |
31 |
32 | UILaunchStoryboardName
33 | LaunchScreen
34 | UIMainStoryboardFile
35 | Main
36 | UIRequiredDeviceCapabilities
37 |
38 | armv7
39 |
40 | UISupportedInterfaceOrientations
41 |
42 | UIInterfaceOrientationPortrait
43 |
44 | UIViewControllerBasedStatusBarAppearance
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/家教/MJExtension/MJDictionaryCache.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJDictionaryCache.h
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 15/8/22.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface MJDictionaryCache : NSObject
12 | /**
13 | * 缓存数据
14 | *
15 | * @param dictId 字典标识
16 | *
17 | * @return 缓存的字典
18 | */
19 | + (id)setObject:(id)object forKey:(id)key forDictId:(const void *)dictId;
20 |
21 | /**
22 | * 获得缓存的数据
23 | *
24 | * @param dictId 字典标识
25 | */
26 | + (id)objectForKey:(id)key forDictId:(const void *)dictId;
27 |
28 | /**
29 | * 获得缓存的字典
30 | *
31 | * @param dictId 字典标识
32 | */
33 | + (id)dictWithDictId:(const void *)dictId;
34 | @end
35 |
--------------------------------------------------------------------------------
/家教/MJExtension/MJDictionaryCache.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJDictionaryCache.m
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 15/8/22.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJDictionaryCache.h"
10 | #import
11 |
12 | @implementation MJDictionaryCache
13 | + (id)setObject:(id)object forKey:(id)key forDictId:(const void *)dictId
14 | {
15 | // 获得字典
16 | NSMutableDictionary *dict = [self dictWithDictId:dictId];
17 | if (dict == nil) {
18 | dict = [NSMutableDictionary dictionary];
19 | objc_setAssociatedObject(self, dictId, dict, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
20 | }
21 |
22 | // 存储数据
23 | dict[key] = object;
24 |
25 | return dict;
26 | }
27 |
28 | + (id)objectForKey:(id)key forDictId:(const void *)dictId
29 | {
30 | return [self dictWithDictId:dictId][key];
31 | }
32 |
33 | + (id)dictWithDictId:(const void *)dictId
34 | {
35 | return objc_getAssociatedObject(self, dictId);
36 | }
37 | @end
--------------------------------------------------------------------------------
/家教/MJExtension/MJExtension.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJExtension.h
3 | // MJExtension
4 | //
5 | // Created by mj on 14-1-15.
6 | // Copyright (c) 2014年 小码哥. All rights reserved.
7 | // 代码地址:https://github.com/CoderMJLee/MJExtension
8 | // 代码地址:http://code4app.com/ios/%E5%AD%97%E5%85%B8-JSON-%E4%B8%8E%E6%A8%A1%E5%9E%8B%E7%9A%84%E8%BD%AC%E6%8D%A2/5339992a933bf062608b4c57
9 |
10 | #import "NSObject+MJCoding.h"
11 | #import "NSObject+MJProperty.h"
12 | #import "NSObject+MJClass.h"
13 | #import "NSObject+MJKeyValue.h"
14 | #import "NSString+MJExtension.h"
15 | #import "MJExtensionConst.h"
--------------------------------------------------------------------------------
/家教/MJExtension/MJExtensionConst.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef __MJExtensionConst__H__
3 | #define __MJExtensionConst__H__
4 |
5 | #import
6 |
7 | // 过期
8 | #define MJExtensionDeprecated(instead) NS_DEPRECATED(2_0, 2_0, 2_0, 2_0, instead)
9 |
10 | // 构建错误
11 | #define MJExtensionBuildError(clazz, msg) \
12 | NSError *error = [NSError errorWithDomain:msg code:250 userInfo:nil]; \
13 | [clazz setMj_error:error];
14 |
15 | // 日志输出
16 | #ifdef DEBUG
17 | #define MJExtensionLog(...) NSLog(__VA_ARGS__)
18 | #else
19 | #define MJExtensionLog(...)
20 | #endif
21 |
22 | /**
23 | * 断言
24 | * @param condition 条件
25 | * @param returnValue 返回值
26 | */
27 | #define MJExtensionAssertError(condition, returnValue, clazz, msg) \
28 | [clazz setMj_error:nil]; \
29 | if ((condition) == NO) { \
30 | MJExtensionBuildError(clazz, msg); \
31 | return returnValue;\
32 | }
33 |
34 | #define MJExtensionAssert2(condition, returnValue) \
35 | if ((condition) == NO) return returnValue;
36 |
37 | /**
38 | * 断言
39 | * @param condition 条件
40 | */
41 | #define MJExtensionAssert(condition) MJExtensionAssert2(condition, )
42 |
43 | /**
44 | * 断言
45 | * @param param 参数
46 | * @param returnValue 返回值
47 | */
48 | #define MJExtensionAssertParamNotNil2(param, returnValue) \
49 | MJExtensionAssert2((param) != nil, returnValue)
50 |
51 | /**
52 | * 断言
53 | * @param param 参数
54 | */
55 | #define MJExtensionAssertParamNotNil(param) MJExtensionAssertParamNotNil2(param, )
56 |
57 | /**
58 | * 打印所有的属性
59 | */
60 | #define MJLogAllIvars \
61 | -(NSString *)description \
62 | { \
63 | return [self mj_keyValues].description; \
64 | }
65 | #define MJExtensionLogAllProperties MJLogAllIvars
66 |
67 | /**
68 | * 类型(属性类型)
69 | */
70 | extern NSString *const MJPropertyTypeInt;
71 | extern NSString *const MJPropertyTypeShort;
72 | extern NSString *const MJPropertyTypeFloat;
73 | extern NSString *const MJPropertyTypeDouble;
74 | extern NSString *const MJPropertyTypeLong;
75 | extern NSString *const MJPropertyTypeLongLong;
76 | extern NSString *const MJPropertyTypeChar;
77 | extern NSString *const MJPropertyTypeBOOL1;
78 | extern NSString *const MJPropertyTypeBOOL2;
79 | extern NSString *const MJPropertyTypePointer;
80 |
81 | extern NSString *const MJPropertyTypeIvar;
82 | extern NSString *const MJPropertyTypeMethod;
83 | extern NSString *const MJPropertyTypeBlock;
84 | extern NSString *const MJPropertyTypeClass;
85 | extern NSString *const MJPropertyTypeSEL;
86 | extern NSString *const MJPropertyTypeId;
87 |
88 | #endif
--------------------------------------------------------------------------------
/家教/MJExtension/MJExtensionConst.m:
--------------------------------------------------------------------------------
1 | #ifndef __MJExtensionConst__M__
2 | #define __MJExtensionConst__M__
3 |
4 | #import
5 |
6 | /**
7 | * 成员变量类型(属性类型)
8 | */
9 | NSString *const MJPropertyTypeInt = @"i";
10 | NSString *const MJPropertyTypeShort = @"s";
11 | NSString *const MJPropertyTypeFloat = @"f";
12 | NSString *const MJPropertyTypeDouble = @"d";
13 | NSString *const MJPropertyTypeLong = @"l";
14 | NSString *const MJPropertyTypeLongLong = @"q";
15 | NSString *const MJPropertyTypeChar = @"c";
16 | NSString *const MJPropertyTypeBOOL1 = @"c";
17 | NSString *const MJPropertyTypeBOOL2 = @"b";
18 | NSString *const MJPropertyTypePointer = @"*";
19 |
20 | NSString *const MJPropertyTypeIvar = @"^{objc_ivar=}";
21 | NSString *const MJPropertyTypeMethod = @"^{objc_method=}";
22 | NSString *const MJPropertyTypeBlock = @"@?";
23 | NSString *const MJPropertyTypeClass = @"#";
24 | NSString *const MJPropertyTypeSEL = @":";
25 | NSString *const MJPropertyTypeId = @"@";
26 |
27 | #endif
--------------------------------------------------------------------------------
/家教/MJExtension/MJFoundation.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJFoundation.h
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 14/7/16.
6 | // Copyright (c) 2014年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface MJFoundation : NSObject
12 | + (BOOL)isClassFromFoundation:(Class)c;
13 | @end
14 |
--------------------------------------------------------------------------------
/家教/MJExtension/MJFoundation.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJFoundation.m
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 14/7/16.
6 | // Copyright (c) 2014年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJFoundation.h"
10 | #import "MJExtensionConst.h"
11 | #import
12 |
13 | static NSSet *foundationClasses_;
14 |
15 | @implementation MJFoundation
16 |
17 | + (NSSet *)foundationClasses
18 | {
19 | if (foundationClasses_ == nil) {
20 | // 集合中没有NSObject,因为几乎所有的类都是继承自NSObject,具体是不是NSObject需要特殊判断
21 | foundationClasses_ = [NSSet setWithObjects:
22 | [NSURL class],
23 | [NSDate class],
24 | [NSValue class],
25 | [NSData class],
26 | [NSError class],
27 | [NSArray class],
28 | [NSDictionary class],
29 | [NSString class],
30 | [NSAttributedString class], nil];
31 | }
32 | return foundationClasses_;
33 | }
34 |
35 | + (BOOL)isClassFromFoundation:(Class)c
36 | {
37 | if (c == [NSObject class] || c == [NSManagedObject class]) return YES;
38 |
39 | __block BOOL result = NO;
40 | [[self foundationClasses] enumerateObjectsUsingBlock:^(Class foundationClass, BOOL *stop) {
41 | if ([c isSubclassOfClass:foundationClass]) {
42 | result = YES;
43 | *stop = YES;
44 | }
45 | }];
46 | return result;
47 | }
48 | @end
49 |
--------------------------------------------------------------------------------
/家教/MJExtension/MJProperty.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJProperty.h
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 15/4/17.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | // 包装一个成员属性
8 |
9 | #import
10 | #import
11 | #import "MJPropertyType.h"
12 | #import "MJPropertyKey.h"
13 |
14 | /**
15 | * 包装一个成员
16 | */
17 | @interface MJProperty : NSObject
18 | /** 成员属性 */
19 | @property (nonatomic, assign) objc_property_t property;
20 | /** 成员属性的名字 */
21 | @property (nonatomic, readonly) NSString *name;
22 |
23 | /** 成员属性的类型 */
24 | @property (nonatomic, readonly) MJPropertyType *type;
25 | /** 成员属性来源于哪个类(可能是父类) */
26 | @property (nonatomic, assign) Class srcClass;
27 |
28 | /**** 同一个成员属性 - 父类和子类的行为可能不一致(originKey、propertyKeys、objectClassInArray) ****/
29 | /** 设置最原始的key */
30 | - (void)setOriginKey:(id)originKey forClass:(Class)c;
31 | /** 对应着字典中的多级key(里面存放的数组,数组里面都是MJPropertyKey对象) */
32 | - (NSArray *)propertyKeysForClass:(Class)c;
33 |
34 | /** 模型数组中的模型类型 */
35 | - (void)setObjectClassInArray:(Class)objectClass forClass:(Class)c;
36 | - (Class)objectClassInArrayForClass:(Class)c;
37 | /**** 同一个成员变量 - 父类和子类的行为可能不一致(key、keys、objectClassInArray) ****/
38 |
39 | /**
40 | * 设置object的成员变量值
41 | */
42 | - (void)setValue:(id)value forObject:(id)object;
43 | /**
44 | * 得到object的成员属性值
45 | */
46 | - (id)valueForObject:(id)object;
47 |
48 | /**
49 | * 初始化
50 | */
51 | + (instancetype)cachedPropertyWithProperty:(objc_property_t)property;
52 |
53 | @end
54 |
--------------------------------------------------------------------------------
/家教/MJExtension/MJPropertyKey.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJPropertyKey.h
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 15/8/11.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | typedef enum {
12 | MJPropertyKeyTypeDictionary = 0, // 字典的key
13 | MJPropertyKeyTypeArray // 数组的key
14 | } MJPropertyKeyType;
15 |
16 | /**
17 | * 属性的key
18 | */
19 | @interface MJPropertyKey : NSObject
20 | /** key的名字 */
21 | @property (copy, nonatomic) NSString *name;
22 | /** key的种类,可能是@"10",可能是@"age" */
23 | @property (assign, nonatomic) MJPropertyKeyType type;
24 |
25 | /**
26 | * 根据当前的key,也就是name,从object(字典或者数组)中取值
27 | */
28 | - (id)valueInObject:(id)object;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/家教/MJExtension/MJPropertyKey.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJPropertyKey.m
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 15/8/11.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJPropertyKey.h"
10 |
11 | @implementation MJPropertyKey
12 |
13 | - (id)valueInObject:(id)object
14 | {
15 | if ([object isKindOfClass:[NSDictionary class]] && self.type == MJPropertyKeyTypeDictionary) {
16 | return object[self.name];
17 | } else if ([object isKindOfClass:[NSArray class]] && self.type == MJPropertyKeyTypeArray) {
18 | return ((NSArray *)object).count ? object[self.name.intValue] : nil;
19 | }
20 | return nil;
21 | }
22 | @end
23 |
--------------------------------------------------------------------------------
/家教/MJExtension/MJPropertyType.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJPropertyType.h
3 | // MJExtension
4 | //
5 | // Created by mj on 14-1-15.
6 | // Copyright (c) 2014年 小码哥. All rights reserved.
7 | // 包装一种类型
8 |
9 | #import
10 |
11 | /**
12 | * 包装一种类型
13 | */
14 | @interface MJPropertyType : NSObject
15 | /** 类型标识符 */
16 | @property (nonatomic, copy) NSString *code;
17 |
18 | /** 是否为id类型 */
19 | @property (nonatomic, readonly, getter=isIdType) BOOL idType;
20 |
21 | /** 是否为基本数字类型:int、float等 */
22 | @property (nonatomic, readonly, getter=isNumberType) BOOL numberType;
23 |
24 | /** 是否为BOOL类型 */
25 | @property (nonatomic, readonly, getter=isBoolType) BOOL boolType;
26 |
27 | /** 对象类型(如果是基本数据类型,此值为nil) */
28 | @property (nonatomic, readonly) Class typeClass;
29 |
30 | /** 类型是否来自于Foundation框架,比如NSString、NSArray */
31 | @property (nonatomic, readonly, getter = isFromFoundation) BOOL fromFoundation;
32 | /** 类型是否不支持KVC */
33 | @property (nonatomic, readonly, getter = isKVCDisabled) BOOL KVCDisabled;
34 |
35 | /**
36 | * 获得缓存的类型对象
37 | */
38 | + (instancetype)cachedTypeWithCode:(NSString *)code;
39 | @end
--------------------------------------------------------------------------------
/家教/MJExtension/MJPropertyType.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJPropertyType.m
3 | // MJExtension
4 | //
5 | // Created by mj on 14-1-15.
6 | // Copyright (c) 2014年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJPropertyType.h"
10 | #import "MJExtension.h"
11 | #import "MJFoundation.h"
12 | #import "MJExtensionConst.h"
13 | #import "MJDictionaryCache.h"
14 |
15 | @implementation MJPropertyType
16 |
17 | + (instancetype)cachedTypeWithCode:(NSString *)code
18 | {
19 | MJExtensionAssertParamNotNil2(code, nil);
20 |
21 | static const char MJCachedTypesKey = '\0';
22 |
23 | MJPropertyType *type = [MJDictionaryCache objectForKey:code forDictId:&MJCachedTypesKey];
24 | if (type == nil) {
25 | type = [[self alloc] init];
26 | type.code = code;
27 | [MJDictionaryCache setObject:type forKey:code forDictId:&MJCachedTypesKey];
28 | }
29 | return type;
30 | }
31 |
32 | #pragma mark - 公共方法
33 | - (void)setCode:(NSString *)code
34 | {
35 | _code = code;
36 |
37 | MJExtensionAssertParamNotNil(code);
38 |
39 | if ([code isEqualToString:MJPropertyTypeId]) {
40 | _idType = YES;
41 | } else if (code.length == 0) {
42 | _KVCDisabled = YES;
43 | } else if (code.length > 3 && [code hasPrefix:@"@\""]) {
44 | // 去掉@"和",截取中间的类型名称
45 | _code = [code substringWithRange:NSMakeRange(2, code.length - 3)];
46 | _typeClass = NSClassFromString(_code);
47 | _fromFoundation = [MJFoundation isClassFromFoundation:_typeClass];
48 | _numberType = [_typeClass isSubclassOfClass:[NSNumber class]];
49 |
50 | } else if ([code isEqualToString:MJPropertyTypeSEL] ||
51 | [code isEqualToString:MJPropertyTypeIvar] ||
52 | [code isEqualToString:MJPropertyTypeMethod]) {
53 | _KVCDisabled = YES;
54 | }
55 |
56 | // 是否为数字类型
57 | NSString *lowerCode = _code.lowercaseString;
58 | NSArray *numberTypes = @[MJPropertyTypeInt, MJPropertyTypeShort, MJPropertyTypeBOOL1, MJPropertyTypeBOOL2, MJPropertyTypeFloat, MJPropertyTypeDouble, MJPropertyTypeLong, MJPropertyTypeLongLong, MJPropertyTypeChar];
59 | if ([numberTypes containsObject:lowerCode]) {
60 | _numberType = YES;
61 |
62 | if ([lowerCode isEqualToString:MJPropertyTypeBOOL1]
63 | || [lowerCode isEqualToString:MJPropertyTypeBOOL2]) {
64 | _boolType = YES;
65 | }
66 | }
67 | }
68 | @end
69 |
--------------------------------------------------------------------------------
/家教/MJExtension/NSObject+MJCoding.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSObject+MJCoding.h
3 | // MJExtension
4 | //
5 | // Created by mj on 14-1-15.
6 | // Copyright (c) 2014年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "MJExtensionConst.h"
11 |
12 | /**
13 | * Codeing协议
14 | */
15 | @protocol MJCoding
16 | @optional
17 | /**
18 | * 这个数组中的属性名才会进行归档
19 | */
20 | + (NSArray *)mj_allowedCodingPropertyNames;
21 | /**
22 | * 这个数组中的属性名将会被忽略:不进行归档
23 | */
24 | + (NSArray *)mj_ignoredCodingPropertyNames;
25 | @end
26 |
27 | @interface NSObject (MJCoding)
28 | /**
29 | * 解码(从文件中解析对象)
30 | */
31 | - (void)mj_decode:(NSCoder *)decoder;
32 | /**
33 | * 编码(将对象写入文件中)
34 | */
35 | - (void)mj_encode:(NSCoder *)encoder;
36 | @end
37 |
38 | /**
39 | 归档的实现
40 | */
41 | #define MJCodingImplementation \
42 | - (id)initWithCoder:(NSCoder *)decoder \
43 | { \
44 | if (self = [super init]) { \
45 | [self mj_decode:decoder]; \
46 | } \
47 | return self; \
48 | } \
49 | \
50 | - (void)encodeWithCoder:(NSCoder *)encoder \
51 | { \
52 | [self mj_encode:encoder]; \
53 | }
54 |
55 | #define MJExtensionCodingImplementation MJCodingImplementation
--------------------------------------------------------------------------------
/家教/MJExtension/NSObject+MJCoding.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSObject+MJCoding.m
3 | // MJExtension
4 | //
5 | // Created by mj on 14-1-15.
6 | // Copyright (c) 2014年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "NSObject+MJCoding.h"
10 | #import "NSObject+MJClass.h"
11 | #import "NSObject+MJProperty.h"
12 | #import "MJProperty.h"
13 |
14 | @implementation NSObject (MJCoding)
15 |
16 | - (void)mj_encode:(NSCoder *)encoder
17 | {
18 | Class clazz = [self class];
19 |
20 | NSArray *allowedCodingPropertyNames = [clazz mj_totalAllowedCodingPropertyNames];
21 | NSArray *ignoredCodingPropertyNames = [clazz mj_totalIgnoredCodingPropertyNames];
22 |
23 | [clazz mj_enumerateProperties:^(MJProperty *property, BOOL *stop) {
24 | // 检测是否被忽略
25 | if (allowedCodingPropertyNames.count && ![allowedCodingPropertyNames containsObject:property.name]) return;
26 | if ([ignoredCodingPropertyNames containsObject:property.name]) return;
27 |
28 | id value = [property valueForObject:self];
29 | if (value == nil) return;
30 | [encoder encodeObject:value forKey:property.name];
31 | }];
32 | }
33 |
34 | - (void)mj_decode:(NSCoder *)decoder
35 | {
36 | Class clazz = [self class];
37 |
38 | NSArray *allowedCodingPropertyNames = [clazz mj_totalAllowedCodingPropertyNames];
39 | NSArray *ignoredCodingPropertyNames = [clazz mj_totalIgnoredCodingPropertyNames];
40 |
41 | [clazz mj_enumerateProperties:^(MJProperty *property, BOOL *stop) {
42 | // 检测是否被忽略
43 | if (allowedCodingPropertyNames.count && ![allowedCodingPropertyNames containsObject:property.name]) return;
44 | if ([ignoredCodingPropertyNames containsObject:property.name]) return;
45 |
46 | id value = [decoder decodeObjectForKey:property.name];
47 | if (value == nil) { // 兼容以前的MJExtension版本
48 | value = [decoder decodeObjectForKey:[@"_" stringByAppendingString:property.name]];
49 | }
50 | if (value == nil) return;
51 | [property setValue:value forObject:self];
52 | }];
53 | }
54 | @end
55 |
--------------------------------------------------------------------------------
/家教/MJExtension/NSString+MJExtension.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+MJExtension.h
3 | // MJExtensionExample
4 | //
5 | // Created by MJ Lee on 15/6/7.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "MJExtensionConst.h"
11 |
12 | @interface NSString (MJExtension)
13 | /**
14 | * 驼峰转下划线(loveYou -> love_you)
15 | */
16 | - (NSString *)mj_underlineFromCamel;
17 | /**
18 | * 下划线转驼峰(love_you -> loveYou)
19 | */
20 | - (NSString *)mj_camelFromUnderline;
21 | /**
22 | * 首字母变大写
23 | */
24 | - (NSString *)mj_firstCharUpper;
25 | /**
26 | * 首字母变小写
27 | */
28 | - (NSString *)mj_firstCharLower;
29 |
30 | - (BOOL)mj_isPureInt;
31 |
32 | - (NSURL *)mj_url;
33 | @end
34 |
35 | @interface NSString (MJExtensionDeprecated_v_2_5_16)
36 | - (NSString *)underlineFromCamel MJExtensionDeprecated("请在方法名前面加上mj_前缀,使用mj_***");
37 | - (NSString *)camelFromUnderline MJExtensionDeprecated("请在方法名前面加上mj_前缀,使用mj_***");
38 | - (NSString *)firstCharUpper MJExtensionDeprecated("请在方法名前面加上mj_前缀,使用mj_***");
39 | - (NSString *)firstCharLower MJExtensionDeprecated("请在方法名前面加上mj_前缀,使用mj_***");
40 | - (BOOL)isPureInt MJExtensionDeprecated("请在方法名前面加上mj_前缀,使用mj_***");
41 | - (NSURL *)url MJExtensionDeprecated("请在方法名前面加上mj_前缀,使用mj_***");
42 | @end
43 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Base/MJRefreshAutoFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshFooter.h"
10 |
11 | @interface MJRefreshAutoFooter : MJRefreshFooter
12 | /** 是否自动刷新(默认为YES) */
13 | @property (assign, nonatomic, getter=isAutomaticallyRefresh) BOOL automaticallyRefresh;
14 |
15 | /** 当底部控件出现多少时就自动刷新(默认为1.0,也就是底部控件完全出现时,才会自动刷新) */
16 | @property (assign, nonatomic) CGFloat appearencePercentTriggerAutoRefresh MJRefreshDeprecated("请使用automaticallyChangeAlpha属性");
17 |
18 | /** 当底部控件出现多少时就自动刷新(默认为1.0,也就是底部控件完全出现时,才会自动刷新) */
19 | @property (assign, nonatomic) CGFloat triggerAutomaticallyRefreshPercent;
20 | @end
21 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Base/MJRefreshBackFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshFooter.h"
10 |
11 | @interface MJRefreshBackFooter : MJRefreshFooter
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Base/MJRefreshFooter.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // MJRefreshFooter.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 15/3/5.
7 | // Copyright (c) 2015年 小码哥. All rights reserved.
8 | // 上拉刷新控件
9 |
10 | #import "MJRefreshComponent.h"
11 |
12 | @interface MJRefreshFooter : MJRefreshComponent
13 | /** 创建footer */
14 | + (instancetype)footerWithRefreshingBlock:(MJRefreshComponentRefreshingBlock)refreshingBlock;
15 | /** 创建footer */
16 | + (instancetype)footerWithRefreshingTarget:(id)target refreshingAction:(SEL)action;
17 |
18 | /** 提示没有更多的数据 */
19 | - (void)endRefreshingWithNoMoreData;
20 | - (void)noticeNoMoreData MJRefreshDeprecated("使用endRefreshingWithNoMoreData");
21 |
22 | /** 重置没有更多的数据(消除没有更多数据的状态) */
23 | - (void)resetNoMoreData;
24 |
25 | /** 忽略多少scrollView的contentInset的bottom */
26 | @property (assign, nonatomic) CGFloat ignoredScrollViewContentInsetBottom;
27 |
28 | /** 自动根据有无数据来显示和隐藏(有数据就显示,没有数据隐藏) */
29 | @property (assign, nonatomic, getter=isAutomaticallyHidden) BOOL automaticallyHidden;
30 | @end
31 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Base/MJRefreshFooter.m:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // MJRefreshFooter.m
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 15/3/5.
7 | // Copyright (c) 2015年 小码哥. All rights reserved.
8 | //
9 |
10 | #import "MJRefreshFooter.h"
11 |
12 | @interface MJRefreshFooter()
13 |
14 | @end
15 |
16 | @implementation MJRefreshFooter
17 | #pragma mark - 构造方法
18 | + (instancetype)footerWithRefreshingBlock:(MJRefreshComponentRefreshingBlock)refreshingBlock
19 | {
20 | MJRefreshFooter *cmp = [[self alloc] init];
21 | cmp.refreshingBlock = refreshingBlock;
22 | return cmp;
23 | }
24 | + (instancetype)footerWithRefreshingTarget:(id)target refreshingAction:(SEL)action
25 | {
26 | MJRefreshFooter *cmp = [[self alloc] init];
27 | [cmp setRefreshingTarget:target refreshingAction:action];
28 | return cmp;
29 | }
30 |
31 | #pragma mark - 重写父类的方法
32 | - (void)prepare
33 | {
34 | [super prepare];
35 |
36 | // 设置自己的高度
37 | self.mj_h = MJRefreshFooterHeight;
38 |
39 | // 默认是自动隐藏
40 | self.automaticallyHidden = YES;
41 | }
42 |
43 | - (void)willMoveToSuperview:(UIView *)newSuperview
44 | {
45 | [super willMoveToSuperview:newSuperview];
46 |
47 | if (newSuperview) {
48 | // 监听scrollView数据的变化
49 | if ([self.scrollView isKindOfClass:[UITableView class]] || [self.scrollView isKindOfClass:[UICollectionView class]]) {
50 | [self.scrollView setReloadDataBlock:^(NSInteger totalDataCount) {
51 | if (self.isAutomaticallyHidden) {
52 | self.hidden = (totalDataCount == 0);
53 | }
54 | }];
55 | }
56 | }
57 | }
58 |
59 | #pragma mark - 公共方法
60 | - (void)endRefreshingWithNoMoreData
61 | {
62 | self.state = MJRefreshStateNoMoreData;
63 | }
64 |
65 | - (void)noticeNoMoreData
66 | {
67 | [self endRefreshingWithNoMoreData];
68 | }
69 |
70 | - (void)resetNoMoreData
71 | {
72 | self.state = MJRefreshStateIdle;
73 | }
74 | @end
75 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Base/MJRefreshHeader.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // MJRefreshHeader.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 15/3/4.
7 | // Copyright (c) 2015年 小码哥. All rights reserved.
8 | // 下拉刷新控件:负责监控用户下拉的状态
9 |
10 | #import "MJRefreshComponent.h"
11 |
12 | @interface MJRefreshHeader : MJRefreshComponent
13 | /** 创建header */
14 | + (instancetype)headerWithRefreshingBlock:(MJRefreshComponentRefreshingBlock)refreshingBlock;
15 | /** 创建header */
16 | + (instancetype)headerWithRefreshingTarget:(id)target refreshingAction:(SEL)action;
17 |
18 | /** 这个key用来存储上一次下拉刷新成功的时间 */
19 | @property (copy, nonatomic) NSString *lastUpdatedTimeKey;
20 | /** 上一次下拉刷新成功的时间 */
21 | @property (strong, nonatomic, readonly) NSDate *lastUpdatedTime;
22 |
23 | /** 忽略多少scrollView的contentInset的top */
24 | @property (assign, nonatomic) CGFloat ignoredScrollViewContentInsetTop;
25 | @end
26 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoGifFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoStateFooter.h"
10 |
11 | @interface MJRefreshAutoGifFooter : MJRefreshAutoStateFooter
12 | /** 设置state状态下的动画图片images 动画持续时间duration*/
13 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
14 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
15 | @end
16 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoNormalFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoStateFooter.h"
10 |
11 | @interface MJRefreshAutoNormalFooter : MJRefreshAutoStateFooter
12 | /** 菊花的样式 */
13 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
14 | @end
15 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoNormalFooter.m
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoNormalFooter.h"
10 |
11 | @interface MJRefreshAutoNormalFooter()
12 | @property (weak, nonatomic) UIActivityIndicatorView *loadingView;
13 | @end
14 |
15 | @implementation MJRefreshAutoNormalFooter
16 | #pragma mark - 懒加载子控件
17 | - (UIActivityIndicatorView *)loadingView
18 | {
19 | if (!_loadingView) {
20 | UIActivityIndicatorView *loadingView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:self.activityIndicatorViewStyle];
21 | loadingView.hidesWhenStopped = YES;
22 | [self addSubview:_loadingView = loadingView];
23 | }
24 | return _loadingView;
25 | }
26 |
27 | - (void)setActivityIndicatorViewStyle:(UIActivityIndicatorViewStyle)activityIndicatorViewStyle
28 | {
29 | _activityIndicatorViewStyle = activityIndicatorViewStyle;
30 |
31 | self.loadingView = nil;
32 | [self setNeedsLayout];
33 | }
34 | #pragma makr - 重写父类的方法
35 | - (void)prepare
36 | {
37 | [super prepare];
38 |
39 | self.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
40 | }
41 |
42 | - (void)placeSubviews
43 | {
44 | [super placeSubviews];
45 |
46 | // 圈圈
47 | CGFloat arrowCenterX = self.mj_w * 0.5;
48 | if (!self.isRefreshingTitleHidden) {
49 | arrowCenterX -= 100;
50 | }
51 | CGFloat arrowCenterY = self.mj_h * 0.5;
52 | self.loadingView.center = CGPointMake(arrowCenterX, arrowCenterY);
53 | }
54 |
55 | - (void)setState:(MJRefreshState)state
56 | {
57 | MJRefreshCheckState
58 |
59 | // 根据状态做事情
60 | if (state == MJRefreshStateNoMoreData || state == MJRefreshStateIdle) {
61 | [self.loadingView stopAnimating];
62 | } else if (state == MJRefreshStateRefreshing) {
63 | [self.loadingView startAnimating];
64 | }
65 | }
66 |
67 | @end
68 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoStateFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/6/13.
6 | // Copyright © 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoFooter.h"
10 |
11 | @interface MJRefreshAutoStateFooter : MJRefreshAutoFooter
12 | /** 显示刷新状态的label */
13 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
14 |
15 | /** 设置state状态下的文字 */
16 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
17 |
18 | /** 隐藏刷新状态的文字 */
19 | @property (assign, nonatomic, getter=isRefreshingTitleHidden) BOOL refreshingTitleHidden;
20 | @end
21 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshAutoStateFooter.m
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/6/13.
6 | // Copyright © 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshAutoStateFooter.h"
10 |
11 | @interface MJRefreshAutoStateFooter()
12 | {
13 | /** 显示刷新状态的label */
14 | __weak UILabel *_stateLabel;
15 | }
16 | /** 所有状态对应的文字 */
17 | @property (strong, nonatomic) NSMutableDictionary *stateTitles;
18 | @end
19 |
20 | @implementation MJRefreshAutoStateFooter
21 | #pragma mark - 懒加载
22 | - (NSMutableDictionary *)stateTitles
23 | {
24 | if (!_stateTitles) {
25 | self.stateTitles = [NSMutableDictionary dictionary];
26 | }
27 | return _stateTitles;
28 | }
29 |
30 | - (UILabel *)stateLabel
31 | {
32 | if (!_stateLabel) {
33 | [self addSubview:_stateLabel = [UILabel label]];
34 | }
35 | return _stateLabel;
36 | }
37 |
38 | #pragma mark - 公共方法
39 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state
40 | {
41 | if (title == nil) return;
42 | self.stateTitles[@(state)] = title;
43 | self.stateLabel.text = self.stateTitles[@(self.state)];
44 | }
45 |
46 | #pragma mark - 私有方法
47 | - (void)stateLabelClick
48 | {
49 | if (self.state == MJRefreshStateIdle) {
50 | [self beginRefreshing];
51 | }
52 | }
53 |
54 | #pragma mark - 重写父类的方法
55 | - (void)prepare
56 | {
57 | [super prepare];
58 |
59 | // 初始化文字
60 | [self setTitle:MJRefreshAutoFooterIdleText forState:MJRefreshStateIdle];
61 | [self setTitle:MJRefreshAutoFooterRefreshingText forState:MJRefreshStateRefreshing];
62 | [self setTitle:MJRefreshAutoFooterNoMoreDataText forState:MJRefreshStateNoMoreData];
63 |
64 | // 监听label
65 | self.stateLabel.userInteractionEnabled = YES;
66 | [self.stateLabel addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(stateLabelClick)]];
67 | }
68 |
69 | - (void)placeSubviews
70 | {
71 | [super placeSubviews];
72 |
73 | // 状态标签
74 | self.stateLabel.frame = self.bounds;
75 | }
76 |
77 | - (void)setState:(MJRefreshState)state
78 | {
79 | MJRefreshCheckState
80 |
81 | if (self.isRefreshingTitleHidden && state == MJRefreshStateRefreshing) {
82 | self.stateLabel.text = nil;
83 | } else {
84 | self.stateLabel.text = self.stateTitles[@(state)];
85 | }
86 | }
87 | @end
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackGifFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshBackStateFooter.h"
10 |
11 | @interface MJRefreshBackGifFooter : MJRefreshBackStateFooter
12 | /** 设置state状态下的动画图片images 动画持续时间duration*/
13 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
14 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
15 | @end
16 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackNormalFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshBackStateFooter.h"
10 |
11 | @interface MJRefreshBackNormalFooter : MJRefreshBackStateFooter
12 | @property (weak, nonatomic, readonly) UIImageView *arrowView;
13 | /** 菊花的样式 */
14 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
15 | @end
16 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackStateFooter.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/6/13.
6 | // Copyright © 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshBackFooter.h"
10 |
11 | @interface MJRefreshBackStateFooter : MJRefreshBackFooter
12 | /** 显示刷新状态的label */
13 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
14 | /** 设置state状态下的文字 */
15 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
16 |
17 | /** 获取state状态下的title */
18 | - (NSString *)titleForState:(MJRefreshState)state;
19 | @end
20 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshBackStateFooter.m
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/6/13.
6 | // Copyright © 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshBackStateFooter.h"
10 |
11 | @interface MJRefreshBackStateFooter()
12 | {
13 | /** 显示刷新状态的label */
14 | __weak UILabel *_stateLabel;
15 | }
16 | /** 所有状态对应的文字 */
17 | @property (strong, nonatomic) NSMutableDictionary *stateTitles;
18 | @end
19 |
20 | @implementation MJRefreshBackStateFooter
21 | #pragma mark - 懒加载
22 | - (NSMutableDictionary *)stateTitles
23 | {
24 | if (!_stateTitles) {
25 | self.stateTitles = [NSMutableDictionary dictionary];
26 | }
27 | return _stateTitles;
28 | }
29 |
30 | - (UILabel *)stateLabel
31 | {
32 | if (!_stateLabel) {
33 | [self addSubview:_stateLabel = [UILabel label]];
34 | }
35 | return _stateLabel;
36 | }
37 |
38 | #pragma mark - 公共方法
39 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state
40 | {
41 | if (title == nil) return;
42 | self.stateTitles[@(state)] = title;
43 | self.stateLabel.text = self.stateTitles[@(self.state)];
44 | }
45 |
46 | - (NSString *)titleForState:(MJRefreshState)state {
47 | return self.stateTitles[@(state)];
48 | }
49 |
50 | #pragma mark - 重写父类的方法
51 | - (void)prepare
52 | {
53 | [super prepare];
54 |
55 | // 初始化文字
56 | [self setTitle:MJRefreshBackFooterIdleText forState:MJRefreshStateIdle];
57 | [self setTitle:MJRefreshBackFooterPullingText forState:MJRefreshStatePulling];
58 | [self setTitle:MJRefreshBackFooterRefreshingText forState:MJRefreshStateRefreshing];
59 | [self setTitle:MJRefreshBackFooterNoMoreDataText forState:MJRefreshStateNoMoreData];
60 | }
61 |
62 | - (void)placeSubviews
63 | {
64 | [super placeSubviews];
65 |
66 | // 状态标签
67 | self.stateLabel.frame = self.bounds;
68 | }
69 |
70 | - (void)setState:(MJRefreshState)state
71 | {
72 | MJRefreshCheckState
73 |
74 | // 设置状态文字
75 | self.stateLabel.text = self.stateTitles[@(state)];
76 | }
77 | @end
78 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Header/MJRefreshGifHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshGifHeader.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshStateHeader.h"
10 |
11 | @interface MJRefreshGifHeader : MJRefreshStateHeader
12 | /** 设置state状态下的动画图片images 动画持续时间duration*/
13 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
14 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
15 | @end
16 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Header/MJRefreshNormalHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshNormalHeader.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshStateHeader.h"
10 |
11 | @interface MJRefreshNormalHeader : MJRefreshStateHeader
12 | @property (weak, nonatomic, readonly) UIImageView *arrowView;
13 | /** 菊花的样式 */
14 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
15 | @end
16 |
--------------------------------------------------------------------------------
/家教/MJRefresh/Custom/Header/MJRefreshStateHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshStateHeader.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 15/4/24.
6 | // Copyright (c) 2015年 小码哥. All rights reserved.
7 | //
8 |
9 | #import "MJRefreshHeader.h"
10 |
11 | @interface MJRefreshStateHeader : MJRefreshHeader
12 | #pragma mark - 刷新时间相关
13 | /** 利用这个block来决定显示的更新时间文字 */
14 | @property (copy, nonatomic) NSString *(^lastUpdatedTimeText)(NSDate *lastUpdatedTime);
15 | /** 显示上一次刷新时间的label */
16 | @property (weak, nonatomic, readonly) UILabel *lastUpdatedTimeLabel;
17 |
18 | #pragma mark - 状态相关
19 | /** 显示刷新状态的label */
20 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
21 | /** 设置state状态下的文字 */
22 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
23 | @end
24 |
--------------------------------------------------------------------------------
/家教/MJRefresh/LoadAlert.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LoadAlert.swift
3 | // GFAlertView
4 | //
5 | // Created by goofygao on 15/11/27.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class LoadAlert: UIView {
12 |
13 |
14 | @IBOutlet weak var activity: UIActivityIndicatorView!
15 |
16 | @IBOutlet weak var titleLabel: UILabel!
17 |
18 | var i = 0
19 | class func instantiateFromNib() -> LoadAlert {
20 | let view = UINib(nibName: "LoadAlert", bundle: nil).instantiateWithOwner(nil, options: nil).first as! LoadAlert
21 |
22 | return view
23 | }
24 |
25 | override func awakeFromNib() {
26 | super.awakeFromNib()
27 | self.layer.cornerRadius = 10
28 | self.layer.masksToBounds = true
29 | self.alpha = 0.9
30 | activity.startAnimating()
31 | NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: "timerAction", userInfo: nil, repeats: true)
32 | }
33 |
34 | func timerAction() {
35 | i++
36 | if i % 3 == 0 {
37 | titleLabel.text = "加载ing..."
38 | } else if i % 3 == 1 {
39 | titleLabel.text = "加载ing."
40 | } else if i % 3 == 2 {
41 | titleLabel.text = "加载ing.."
42 | }
43 | }
44 |
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/家教/MJRefresh/MJRefresh.bundle/arrow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/MJRefresh/MJRefresh.bundle/arrow@2x.png
--------------------------------------------------------------------------------
/家教/MJRefresh/MJRefresh.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 |
4 | #import "UIScrollView+MJRefresh.h"
5 | #import "UIScrollView+MJExtension.h"
6 | #import "UIView+MJExtension.h"
7 |
8 | #import "MJRefreshNormalHeader.h"
9 | #import "MJRefreshGifHeader.h"
10 |
11 | #import "MJRefreshBackNormalFooter.h"
12 | #import "MJRefreshBackGifFooter.h"
13 | #import "MJRefreshAutoNormalFooter.h"
14 | #import "MJRefreshAutoGifFooter.h"
--------------------------------------------------------------------------------
/家教/MJRefresh/MJRefreshConst.m:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | #import
4 |
5 | const CGFloat MJRefreshHeaderHeight = 54.0;
6 | const CGFloat MJRefreshFooterHeight = 44.0;
7 | const CGFloat MJRefreshFastAnimationDuration = 0.25;
8 | const CGFloat MJRefreshSlowAnimationDuration = 0.4;
9 |
10 | NSString *const MJRefreshKeyPathContentOffset = @"contentOffset";
11 | NSString *const MJRefreshKeyPathContentInset = @"contentInset";
12 | NSString *const MJRefreshKeyPathContentSize = @"contentSize";
13 | NSString *const MJRefreshKeyPathPanState = @"state";
14 |
15 | NSString *const MJRefreshHeaderLastUpdatedTimeKey = @"MJRefreshHeaderLastUpdatedTimeKey";
16 |
17 | NSString *const MJRefreshHeaderIdleText = @"下拉可以刷新";
18 | NSString *const MJRefreshHeaderPullingText = @"松开立即刷新";
19 | NSString *const MJRefreshHeaderRefreshingText = @"正在刷新数据中...";
20 |
21 | NSString *const MJRefreshAutoFooterIdleText = @"点击或上拉加载更多";
22 | NSString *const MJRefreshAutoFooterRefreshingText = @"正在加载更多的数据...";
23 | NSString *const MJRefreshAutoFooterNoMoreDataText = @"已经全部加载完毕";
24 |
25 | NSString *const MJRefreshBackFooterIdleText = @"上拉可以加载更多";
26 | NSString *const MJRefreshBackFooterPullingText = @"松开立即加载更多";
27 | NSString *const MJRefreshBackFooterRefreshingText = @"正在加载更多的数据...";
28 | NSString *const MJRefreshBackFooterNoMoreDataText = @"已经全部加载完毕";
--------------------------------------------------------------------------------
/家教/MJRefresh/UIScrollView+MJExtension.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // UIScrollView+Extension.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 14-5-28.
7 | // Copyright (c) 2014年 小码哥. All rights reserved.
8 | //
9 |
10 | #import
11 |
12 | @interface UIScrollView (MJExtension)
13 | @property (assign, nonatomic) CGFloat mj_insetT;
14 | @property (assign, nonatomic) CGFloat mj_insetB;
15 | @property (assign, nonatomic) CGFloat mj_insetL;
16 | @property (assign, nonatomic) CGFloat mj_insetR;
17 |
18 | @property (assign, nonatomic) CGFloat mj_offsetX;
19 | @property (assign, nonatomic) CGFloat mj_offsetY;
20 |
21 | @property (assign, nonatomic) CGFloat mj_contentW;
22 | @property (assign, nonatomic) CGFloat mj_contentH;
23 | @end
24 |
--------------------------------------------------------------------------------
/家教/MJRefresh/UIScrollView+MJRefresh.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // UIScrollView+MJRefresh.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 15/3/4.
7 | // Copyright (c) 2015年 小码哥. All rights reserved.
8 | // 给ScrollView增加下拉刷新、上拉刷新的功能
9 |
10 | #import
11 |
12 | @class MJRefreshHeader, MJRefreshFooter;
13 |
14 | @interface UIScrollView (MJRefresh)
15 | /** 下拉刷新控件 */
16 | @property (strong, nonatomic) MJRefreshHeader *header;
17 | /** 上拉刷新控件 */
18 | @property (strong, nonatomic) MJRefreshFooter *footer;
19 |
20 | #pragma mark - other
21 | - (NSInteger)totalDataCount;
22 | @property (copy, nonatomic) void (^reloadDataBlock)(NSInteger totalDataCount);
23 | @end
24 |
--------------------------------------------------------------------------------
/家教/MJRefresh/UIView+MJExtension.h:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // UIView+Extension.h
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 14-5-28.
7 | // Copyright (c) 2014年 小码哥. All rights reserved.
8 | //
9 |
10 | #import
11 |
12 | @interface UIView (MJExtension)
13 | @property (assign, nonatomic) CGFloat mj_x;
14 | @property (assign, nonatomic) CGFloat mj_y;
15 | @property (assign, nonatomic) CGFloat mj_w;
16 | @property (assign, nonatomic) CGFloat mj_h;
17 | @property (assign, nonatomic) CGSize mj_size;
18 | @property (assign, nonatomic) CGPoint mj_origin;
19 | @end
20 |
--------------------------------------------------------------------------------
/家教/MJRefresh/UIView+MJExtension.m:
--------------------------------------------------------------------------------
1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh
2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000
3 | // UIView+Extension.m
4 | // MJRefreshExample
5 | //
6 | // Created by MJ Lee on 14-5-28.
7 | // Copyright (c) 2014年 小码哥. All rights reserved.
8 | //
9 |
10 | #import "UIView+MJExtension.h"
11 |
12 | @implementation UIView (MJExtension)
13 | - (void)setMj_x:(CGFloat)mj_x
14 | {
15 | CGRect frame = self.frame;
16 | frame.origin.x = mj_x;
17 | self.frame = frame;
18 | }
19 |
20 | - (CGFloat)mj_x
21 | {
22 | return self.frame.origin.x;
23 | }
24 |
25 | - (void)setMj_y:(CGFloat)mj_y
26 | {
27 | CGRect frame = self.frame;
28 | frame.origin.y = mj_y;
29 | self.frame = frame;
30 | }
31 |
32 | - (CGFloat)mj_y
33 | {
34 | return self.frame.origin.y;
35 | }
36 |
37 | - (void)setMj_w:(CGFloat)mj_w
38 | {
39 | CGRect frame = self.frame;
40 | frame.size.width = mj_w;
41 | self.frame = frame;
42 | }
43 |
44 | - (CGFloat)mj_w
45 | {
46 | return self.frame.size.width;
47 | }
48 |
49 | - (void)setMj_h:(CGFloat)mj_h
50 | {
51 | CGRect frame = self.frame;
52 | frame.size.height = mj_h;
53 | self.frame = frame;
54 | }
55 |
56 | - (CGFloat)mj_h
57 | {
58 | return self.frame.size.height;
59 | }
60 |
61 | - (void)setMj_size:(CGSize)mj_size
62 | {
63 | CGRect frame = self.frame;
64 | frame.size = mj_size;
65 | self.frame = frame;
66 | }
67 |
68 | - (CGSize)mj_size
69 | {
70 | return self.frame.size;
71 | }
72 |
73 | - (void)setMj_origin:(CGPoint)mj_origin
74 | {
75 | CGRect frame = self.frame;
76 | frame.origin = mj_origin;
77 | self.frame = frame;
78 | }
79 |
80 | - (CGPoint)mj_origin
81 | {
82 | return self.frame.origin;
83 | }
84 | @end
85 |
--------------------------------------------------------------------------------
/家教/Parents.h:
--------------------------------------------------------------------------------
1 | //
2 | // Teacher.h
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/12.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface Parents : NSObject
12 |
13 | @property (nonatomic,copy) NSString *name;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/家教/Parents.m:
--------------------------------------------------------------------------------
1 | //
2 | // Teacher.m
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/12.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | #import "Parents.h"
10 |
11 | @implementation Parents
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/家教/ProfileSetViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ProfileSetViewController.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/30.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ProfileSetViewController: UIViewController {
12 |
13 | @IBOutlet weak var proFileGBView2: UIView!
14 | @IBOutlet weak var avaterImageView: UIImageView!
15 | @IBOutlet weak var profileBGView: UIView!
16 |
17 | /// 昵称
18 | @IBOutlet weak var nickName: UILabel!
19 | /// 年龄
20 | @IBOutlet weak var profileAge: UILabel!
21 | /// 签名
22 | @IBOutlet weak var signatureLabel: UILabel!
23 | /// 身份定位
24 | @IBOutlet weak var bodyLocationLabel: UILabel!
25 |
26 | /// 电话号码
27 | @IBOutlet weak var bodyPhoneNumber: UILabel!
28 | /// 地址
29 | @IBOutlet weak var profileAddress: UILabel!
30 | /// 邮箱
31 | @IBOutlet weak var profileEmail: UILabel!
32 | override func viewDidLoad() {
33 | super.viewDidLoad()
34 |
35 | avaterImageView.layer.cornerRadius = avaterImageView.frame.width/2
36 | avaterImageView.layer.masksToBounds = true
37 | avaterImageView.layer.borderWidth = 5
38 | avaterImageView.layer.borderColor = UIColor(white: 0.6, alpha: 0.7).CGColor
39 | profileBGView.layer.cornerRadius = 20
40 | profileBGView.layer.masksToBounds = true
41 | proFileGBView2.layer.cornerRadius = 20
42 | proFileGBView2.layer.masksToBounds = true
43 | let navBar = self.navigationController?.navigationBar
44 | navBar?.barTintColor = UIColor(red: 65.0 / 255.0, green: 62.0 / 255.0, blue: 79.0 / 255.0, alpha: 1)
45 | navBar?.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
46 | navBar?.tintColor = UIColor.whiteColor()
47 | self.title = "资料设置"
48 |
49 |
50 | }
51 |
52 | override func didReceiveMemoryWarning() {
53 | super.didReceiveMemoryWarning()
54 | // Dispose of any resources that can be recreated.
55 | }
56 |
57 |
58 |
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/家教/Student.m:
--------------------------------------------------------------------------------
1 | //
2 | // Student.m
3 | // 家教
4 | //
5 | // Created by goofygao on 15/11/9.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | #import "Student.h"
10 | #import "MJExtension/MJExtension.h"
11 |
12 | @implementation Student
13 |
14 | -(id)initWithDict:(NSDictionary *)dict {
15 | if (self == [super init]) {
16 | [self setValuesForKeysWithDictionary:dict];
17 | }
18 | return self;
19 | }
20 |
21 | +(instancetype)cellWithDict:(NSDictionary *)dict {
22 | return [[self alloc] initWithDict:dict];
23 | }
24 |
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/家教/UIColorExtension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIColorExtension.swift
3 | // 家教
4 | //
5 | // Created by goofygao on 15/10/21.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | extension UIColor {
12 | class func randColor(alpha:CGFloat) -> UIColor {
13 | let red = CGFloat(arc4random_uniform(255))/CGFloat(INT8_MAX)
14 | let green = CGFloat(arc4random_uniform(255))/CGFloat(INT8_MAX)
15 | let blue = CGFloat(arc4random_uniform(255))/CGFloat(INT8_MAX)
16 | return UIColor(red: red, green: green, blue: blue, alpha: alpha)
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/家教/UUChat/UUChatLeftMessageCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LeftMessageCell.swift
3 | // UUChatTableViewSwift
4 | //
5 | // Created by XcodeYang on 8/13/15.
6 | // Copyright © 2015 XcodeYang. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class UUChatLeftMessageCell: UITableViewCell {
12 |
13 | @IBOutlet weak var dateLabel: UILabel!
14 | @IBOutlet weak var headImageView: UIButton!
15 | @IBOutlet weak var nameLabel: UILabel!
16 | @IBOutlet weak var contentButton: UIButton!
17 |
18 | @IBOutlet weak var contentLabel: UILabel!
19 |
20 |
21 | override func awakeFromNib() {
22 | super.awakeFromNib()
23 | self.selectionStyle = UITableViewCellSelectionStyle.None
24 | self.contentButton.titleLabel?.numberOfLines = 0;
25 | self.contentButton.contentEdgeInsets = UIEdgeInsetsMake(4, 29, 4, 9)
26 | }
27 |
28 | func configUIWithModel(num: NSInteger){
29 | self.dateLabel.text = random()%2==0 ? "2014-09-21 18:32":""
30 | self.contentLabel.text = self.getRandomStr(num) as String
31 | }
32 |
33 | func getRandomStr(num: NSInteger) -> NSString{
34 | let str = "卡农并非特指一首曲子,其原意为“规则”,“同一旋律以同度或五度等不同的高度在各声部先后出现,造成此起彼落连续不断的模仿;一个声部的曲调自始至终追逐着另一声部,直到最后,它们会融合在一起,永不分离”,一如人世间至死不渝的爱情,相爱的两人生死相随,缠绵至极。"
35 | return (str as NSString).substringToIndex(num)
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/家教/UUChat/UUChatRightMessageCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UUChatRightMessageCell.swift
3 | // UUChatTableViewSwift
4 | //
5 | // Created by XcodeYang on 8/13/15.
6 | // Copyright © 2015 XcodeYang. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class UUChatRightMessageCell: UITableViewCell {
12 |
13 | @IBOutlet weak var dateLabel: UILabel!
14 | @IBOutlet weak var headImageView: UIButton!
15 | @IBOutlet weak var nameLabel: UILabel!
16 | @IBOutlet weak var contentButton: UIButton!
17 |
18 | @IBOutlet weak var contentLabel: UILabel!
19 |
20 | override func awakeFromNib() {
21 | super.awakeFromNib()
22 | self.selectionStyle = UITableViewCellSelectionStyle.None
23 | self.contentButton.titleLabel?.numberOfLines = 0;
24 | self.contentButton.contentEdgeInsets = UIEdgeInsetsMake(4, 29, 4, 9)
25 | }
26 |
27 | func configUIWithModel(num: NSInteger){
28 | self.dateLabel.text = random()%2==0 ? "2014-09-21 18:32":""
29 | self.contentLabel.text = self.getRandomStr(num) as String
30 |
31 | }
32 |
33 | func getRandomStr(num: NSInteger) -> NSString{
34 | let str = "卡农并非特指一首曲子,其原意为“规则”,“同一旋律以同度或五度等不同的高度在各声部先后出现,造成此起彼落连续不断的模仿;一个声部的曲调自始至终追逐着另一声部,直到最后,它们会融合在一起,永不分离”,一如人世间至死不渝的爱情,相爱的两人生死相随,缠绵至极。"
35 | return (str as NSString).substringToIndex(num)
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/家教/UUChat/UUInputView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UUInputView.swift
3 | // UUChatTableViewSwift
4 | //
5 | // Created by XcodeYang on 8/13/15.
6 | // Copyright © 2015 XcodeYang. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class UUInputView: UIView {
12 |
13 | @IBOutlet weak var leftButton: UIButton!
14 |
15 | @IBOutlet weak var rightButton: UIButton!
16 |
17 | @IBOutlet weak var contentTextField: UITextField!
18 |
19 | override func awakeFromNib() {
20 | super.awakeFromNib()
21 | self.layer.borderWidth = 1;
22 | self.layer.borderColor = UIColor.blackColor().colorWithAlphaComponent(0.1).CGColor
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/家教/__.xcdatamodeld/.xccurrentversion:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | _XCCurrentVersionName
6 | __.xcdatamodel
7 |
8 |
9 |
--------------------------------------------------------------------------------
/家教/__.xcdatamodeld/__.xcdatamodel/contents:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/家教/add-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/add-1.png
--------------------------------------------------------------------------------
/家教/add-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/add-2.png
--------------------------------------------------------------------------------
/家教/add-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/add-3.png
--------------------------------------------------------------------------------
/家教/add-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/add-4.png
--------------------------------------------------------------------------------
/家教/bg_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/bg_login.png
--------------------------------------------------------------------------------
/家教/bg_setr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/bg_setr.png
--------------------------------------------------------------------------------
/家教/boy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/boy.png
--------------------------------------------------------------------------------
/家教/bt_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/bt_login.png
--------------------------------------------------------------------------------
/家教/bt_setr_submit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/bt_setr_submit.png
--------------------------------------------------------------------------------
/家教/bt_signin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/bt_signin.png
--------------------------------------------------------------------------------
/家教/camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/camera.png
--------------------------------------------------------------------------------
/家教/cellCollect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/cellCollect.png
--------------------------------------------------------------------------------
/家教/cellComment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/cellComment.png
--------------------------------------------------------------------------------
/家教/cellLike.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/cellLike.png
--------------------------------------------------------------------------------
/家教/cell_share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/cell_share.png
--------------------------------------------------------------------------------
/家教/cell_share24px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/cell_share24px.png
--------------------------------------------------------------------------------
/家教/collect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/collect.png
--------------------------------------------------------------------------------
/家教/collect_selecte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/collect_selecte.png
--------------------------------------------------------------------------------
/家教/editMyProfile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/editMyProfile.png
--------------------------------------------------------------------------------
/家教/girl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/girl.png
--------------------------------------------------------------------------------
/家教/ic_menuL@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/ic_menuL@3x.png
--------------------------------------------------------------------------------
/家教/ic_menuRotatedL@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/ic_menuRotatedL@3x.png
--------------------------------------------------------------------------------
/家教/kechengbiaoBg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/kechengbiaoBg.png
--------------------------------------------------------------------------------
/家教/libraries/extends/QQSDK/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/libraries/extends/QQSDK/.DS_Store
--------------------------------------------------------------------------------
/家教/libraries/extends/SinaWeiboSDK/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/libraries/extends/SinaWeiboSDK/.DS_Store
--------------------------------------------------------------------------------
/家教/libraries/extends/WeChatSDK/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/libraries/extends/WeChatSDK/.DS_Store
--------------------------------------------------------------------------------
/家教/line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/line.png
--------------------------------------------------------------------------------
/家教/message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/message.png
--------------------------------------------------------------------------------
/家教/messageCountImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/messageCountImage.png
--------------------------------------------------------------------------------
/家教/navigationbar_back@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/navigationbar_back@2x.png
--------------------------------------------------------------------------------
/家教/navigationbar_back@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/navigationbar_back@3x.png
--------------------------------------------------------------------------------
/家教/personalIDcard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/personalIDcard.png
--------------------------------------------------------------------------------
/家教/profile-Like.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/profile-Like.png
--------------------------------------------------------------------------------
/家教/progile-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/progile-2.png
--------------------------------------------------------------------------------
/家教/progile-zan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/progile-zan.png
--------------------------------------------------------------------------------
/家教/search_bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/search_bar.png
--------------------------------------------------------------------------------
/家教/setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mgoofyy/iOS_FE/e63aef3feb89e903e479d9bef955dd7d2a7ab7e1/家教/setting.png
--------------------------------------------------------------------------------
/家教Tests/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 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/家教Tests/__Tests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // __Tests.swift
3 | // 家教Tests
4 | //
5 | // Created by goofygao on 15/10/19.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import __
11 |
12 | class __Tests: XCTestCase {
13 |
14 | override func setUp() {
15 | super.setUp()
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 | }
18 |
19 | override func tearDown() {
20 | // Put teardown code here. This method is called after the invocation of each test method in the class.
21 | super.tearDown()
22 | }
23 |
24 | func testExample() {
25 | // This is an example of a functional test case.
26 | // Use XCTAssert and related functions to verify your tests produce the correct results.
27 | }
28 |
29 | func testPerformanceExample() {
30 | // This is an example of a performance test case.
31 | self.measureBlock {
32 | // Put the code you want to measure the time of here.
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/家教UITests/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 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/家教UITests/__UITests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // __UITests.swift
3 | // 家教UITests
4 | //
5 | // Created by goofygao on 15/10/19.
6 | // Copyright © 2015年 goofyy. All rights reserved.
7 | //
8 |
9 | import XCTest
10 |
11 | class __UITests: XCTestCase {
12 |
13 | override func setUp() {
14 | super.setUp()
15 |
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 |
18 | // In UI tests it is usually best to stop immediately when a failure occurs.
19 | continueAfterFailure = false
20 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
21 | XCUIApplication().launch()
22 |
23 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
24 | }
25 |
26 | override func tearDown() {
27 | // Put teardown code here. This method is called after the invocation of each test method in the class.
28 | super.tearDown()
29 | }
30 |
31 | func testExample() {
32 | // Use recording to get started writing UI tests.
33 | // Use XCTAssert and related functions to verify your tests produce the correct results.
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------