gitextract_a133_7b3/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug--.md │ └── feature--.md ├── .gitignore ├── .travis.yml ├── Examples/ │ ├── MJRefreshExample/ │ │ ├── MJRefreshExample/ │ │ │ ├── Base.lproj/ │ │ │ │ ├── LaunchScreen.xib │ │ │ │ └── Main.storyboard │ │ │ ├── Classes/ │ │ │ │ ├── Category/ │ │ │ │ │ ├── UIViewController+Example.h │ │ │ │ │ └── UIViewController+Example.m │ │ │ │ ├── DIY/ │ │ │ │ │ ├── MJChiBaoZiFooter.h │ │ │ │ │ ├── MJChiBaoZiFooter.m │ │ │ │ │ ├── MJChiBaoZiFooter2.h │ │ │ │ │ ├── MJChiBaoZiFooter2.m │ │ │ │ │ ├── MJChiBaoZiHeader.h │ │ │ │ │ ├── MJChiBaoZiHeader.m │ │ │ │ │ ├── MJDIYAutoFooter.h │ │ │ │ │ ├── MJDIYAutoFooter.m │ │ │ │ │ ├── MJDIYBackFooter.h │ │ │ │ │ ├── MJDIYBackFooter.m │ │ │ │ │ ├── MJDIYHeader.h │ │ │ │ │ └── MJDIYHeader.m │ │ │ │ ├── First/ │ │ │ │ │ ├── MJExample.h │ │ │ │ │ ├── MJExample.m │ │ │ │ │ ├── MJExampleViewController.h │ │ │ │ │ ├── MJExampleViewController.m │ │ │ │ │ ├── MJExampleWindow.h │ │ │ │ │ ├── MJExampleWindow.m │ │ │ │ │ ├── MJSingleViewController.h │ │ │ │ │ ├── MJSingleViewController.m │ │ │ │ │ ├── MJTempViewController.h │ │ │ │ │ └── MJTempViewController.m │ │ │ │ ├── Other/ │ │ │ │ │ ├── AppDelegate.h │ │ │ │ │ └── AppDelegate.m │ │ │ │ ├── Second/ │ │ │ │ │ ├── MJCollectionViewController.h │ │ │ │ │ ├── MJCollectionViewController.m │ │ │ │ │ ├── MJHorizontalCollectionViewController.h │ │ │ │ │ ├── MJHorizontalCollectionViewController.m │ │ │ │ │ ├── MJPinHeaderCollectionViewController.swift │ │ │ │ │ ├── MJTableViewController.h │ │ │ │ │ ├── MJTableViewController.m │ │ │ │ │ ├── MJTestViewController.h │ │ │ │ │ ├── MJTestViewController.m │ │ │ │ │ ├── MJTestViewController.xib │ │ │ │ │ ├── MJWebViewViewController.h │ │ │ │ │ ├── MJWebViewViewController.m │ │ │ │ │ └── MJWebViewViewController.xib │ │ │ │ ├── SwiftExample/ │ │ │ │ │ └── MJWKWebViewController.swift │ │ │ │ └── i18n/ │ │ │ │ ├── CustomLanguages.bundle/ │ │ │ │ │ ├── en.lproj/ │ │ │ │ │ │ └── Localizable.strings │ │ │ │ │ ├── ko.lproj/ │ │ │ │ │ │ └── Localizable.strings │ │ │ │ │ ├── ru.lproj/ │ │ │ │ │ │ └── Localizable.strings │ │ │ │ │ ├── uk.lproj/ │ │ │ │ │ │ └── Localizable.strings │ │ │ │ │ ├── zh-Hans.lproj/ │ │ │ │ │ │ └── Localizable.strings │ │ │ │ │ └── zh-Hant.lproj/ │ │ │ │ │ └── Localizable.strings │ │ │ │ ├── I18NExampleViewController.swift │ │ │ │ ├── ar.lproj/ │ │ │ │ │ └── MJRefresh_i18n.strings │ │ │ │ ├── en.lproj/ │ │ │ │ │ └── MJRefresh_i18n.strings │ │ │ │ ├── ko.lproj/ │ │ │ │ │ └── MJRefresh_i18n.strings │ │ │ │ ├── ru.lproj/ │ │ │ │ │ └── MJRefresh_i18n.strings │ │ │ │ ├── uk.lproj/ │ │ │ │ │ └── MJRefresh_i18n.strings │ │ │ │ ├── zh-Hans.lproj/ │ │ │ │ │ └── MJRefresh_i18n.strings │ │ │ │ └── zh-Hant.lproj/ │ │ │ │ └── MJRefresh_i18n.strings │ │ │ ├── Images.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Contents.json │ │ │ │ ├── DianPing/ │ │ │ │ │ ├── dropdown_anim__0001.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00010.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00011.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00012.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00013.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00014.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00015.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00016.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00017.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00018.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00019.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__0002.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00020.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00021.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00022.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00023.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00024.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00025.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00026.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00027.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00028.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00029.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__0003.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00030.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00031.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00032.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00033.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00034.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00035.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00036.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00037.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00038.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00039.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__0004.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00040.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00041.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00042.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00043.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00044.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00045.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00046.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00047.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00048.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00049.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__0005.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00050.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00051.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00052.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00053.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00054.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00055.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00056.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00057.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00058.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00059.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__0006.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__00060.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__0007.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__0008.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_anim__0009.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_loading_01.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── dropdown_loading_02.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── dropdown_loading_03.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── MJRefresh.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── NavBar.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── NavBar64.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── logo.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ ├── MJRefreshExample-Bridging-Header.h │ │ │ ├── PrefixHeader.pch │ │ │ └── main.m │ │ ├── MJRefreshExample.xcodeproj/ │ │ │ └── project.pbxproj │ │ └── MJRefreshExampleTests/ │ │ ├── Info.plist │ │ └── MJRefreshExampleTests.m │ └── SPMTestExample/ │ ├── SPMTestExample/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AccentColor.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── SceneDelegate.swift │ │ └── ViewController.swift │ └── SPMTestExample.xcodeproj/ │ └── project.pbxproj ├── LICENSE ├── MJRefresh/ │ ├── Base/ │ │ ├── MJRefreshAutoFooter.h │ │ ├── MJRefreshAutoFooter.m │ │ ├── MJRefreshBackFooter.h │ │ ├── MJRefreshBackFooter.m │ │ ├── MJRefreshComponent.h │ │ ├── MJRefreshComponent.m │ │ ├── MJRefreshFooter.h │ │ ├── MJRefreshFooter.m │ │ ├── MJRefreshHeader.h │ │ ├── MJRefreshHeader.m │ │ ├── MJRefreshTrailer.h │ │ └── MJRefreshTrailer.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 │ │ └── Trailer/ │ │ ├── MJRefreshNormalTrailer.h │ │ ├── MJRefreshNormalTrailer.m │ │ ├── MJRefreshStateTrailer.h │ │ └── MJRefreshStateTrailer.m │ ├── Info.plist │ ├── MJRefresh.bundle/ │ │ ├── en.lproj/ │ │ │ └── Localizable.strings │ │ ├── ko.lproj/ │ │ │ └── Localizable.strings │ │ ├── ru.lproj/ │ │ │ └── Localizable.strings │ │ ├── uk.lproj/ │ │ │ └── Localizable.strings │ │ ├── zh-Hans.lproj/ │ │ │ └── Localizable.strings │ │ └── zh-Hant.lproj/ │ │ └── Localizable.strings │ ├── MJRefresh.h │ ├── MJRefreshConfig.h │ ├── MJRefreshConfig.m │ ├── MJRefreshConst.h │ ├── MJRefreshConst.m │ ├── NSBundle+MJRefresh.h │ ├── NSBundle+MJRefresh.m │ ├── PrivacyInfo.xcprivacy │ ├── UICollectionViewLayout+MJRefresh.h │ ├── UICollectionViewLayout+MJRefresh.m │ ├── UIScrollView+MJExtension.h │ ├── UIScrollView+MJExtension.m │ ├── UIScrollView+MJRefresh.h │ ├── UIScrollView+MJRefresh.m │ ├── UIView+MJExtension.h │ └── UIView+MJExtension.m ├── MJRefresh.podspec ├── MJRefresh.xcodeproj/ │ ├── project.pbxproj │ └── xcshareddata/ │ └── xcschemes/ │ └── MJRefresh.xcscheme ├── Package.swift └── README.md