Description: In iOS developers often encounter situations information presented one by one, when the small number of messages we can certainly make a one-time UITableView all information into a data source, but when several hundreds of thousands of pieces of information, and contains a large number of pictures (eg novel app bibliography shows), the one time all of them get out the background on UITableView obviously unrealistic, but should display a few lines of data, then get the data through the pull-down and pull-up again the background. This time you need to use the pull-down refresh to bring animation table.
MJRefresh is an open source project on github, it can easily achieve UIScrollView, UITableView, UICollectionView, UIWebView refresh animation, and you can customize the refresh animation effects, very powerful.
I realized on the basis of MJRefresh on the table that can be used directly- SKRefreshTableView, inherited UITableView, which in addition to having all the features of UITableV
To Search:
File list (Check if you may need any files):
MJRefresh
.........\.DS_Store
__MACOSX
........\MJRefresh
........\.........\._.DS_Store
MJRefresh\Base
.........\....\MJRefreshAutoFooter.h
__MACOSX\MJRefresh\Base
........\.........\....\._MJRefreshAutoFooter.h
MJRefresh\Base\MJRefreshAutoFooter.m
__MACOSX\MJRefresh\Base\._MJRefreshAutoFooter.m
MJRefresh\Base\MJRefreshBackFooter.h
__MACOSX\MJRefresh\Base\._MJRefreshBackFooter.h
MJRefresh\Base\MJRefreshBackFooter.m
__MACOSX\MJRefresh\Base\._MJRefreshBackFooter.m
MJRefresh\Base\MJRefreshComponent.h
__MACOSX\MJRefresh\Base\._MJRefreshComponent.h
MJRefresh\Base\MJRefreshComponent.m
__MACOSX\MJRefresh\Base\._MJRefreshComponent.m
MJRefresh\Base\MJRefreshFooter.h
__MACOSX\MJRefresh\Base\._MJRefreshFooter.h
MJRefresh\Base\MJRefreshFooter.m
__MACOSX\MJRefresh\Base\._MJRefreshFooter.m
MJRefresh\Base\MJRefreshHeader.h
__MACOSX\MJRefresh\Base\._MJRefreshHeader.h
MJRefresh\Base\MJRefreshHeader.m
__MACOSX\MJRefresh\Base\._MJRefreshHeader.m
........\.........\._Base
MJRefresh\Custom
.........\......\Footer
.........\......\......\Auto
.........\......\......\....\MJRefreshAutoGifFooter.h
__MACOSX\MJRefresh\Custom
........\.........\......\Footer
........\.........\......\......\Auto
........\.........\......\......\....\._MJRefreshAutoGifFooter.h
MJRefresh\Custom\Footer\Auto\MJRefreshAutoGifFooter.m
__MACOSX\MJRefresh\Custom\Footer\Auto\._MJRefreshAutoGifFooter.m
MJRefresh\Custom\Footer\Auto\MJRefreshAutoNormalFooter.h
__MACOSX\MJRefresh\Custom\Footer\Auto\._MJRefreshAutoNormalFooter.h
MJRefresh\Custom\Footer\Auto\MJRefreshAutoNormalFooter.m
__MACOSX\MJRefresh\Custom\Footer\Auto\._MJRefreshAutoNormalFooter.m
MJRefresh\Custom\Footer\Auto\MJRefreshAutoStateFooter.h
__MACOSX\MJRefresh\Custom\Footer\Auto\._MJRefreshAutoStateFooter.h
MJRefresh\Custom\Footer\Auto\MJRefreshAutoStateFooter.m
__MACOSX\MJRefresh\Custom\Footer\Auto\._MJRefreshAutoStateFooter.m
........\.........\......\......\._Auto
MJRefresh\Custom\Footer\Back
.........\......\......\....\MJRefreshBackGifFooter.h
__MACOSX\MJRefresh\Custom\Footer\Back
........\.........\......\......\....\._MJRefreshBackGifFooter.h
MJRefresh\Custom\Footer\Back\MJRefreshBackGifFooter.m
__MACOSX\MJRefresh\Custom\Footer\Back\._MJRefreshBackGifFooter.m
MJRefresh\Custom\Footer\Back\MJRefreshBackNormalFooter.h
__MACOSX\MJRefresh\Custom\Footer\Back\._MJRefreshBackNormalFooter.h
MJRefresh\Custom\Footer\Back\MJRefreshBackNormalFooter.m
__MACOSX\MJRefresh\Custom\Footer\Back\._MJRefreshBackNormalFooter.m
MJRefresh\Custom\Footer\Back\MJRefreshBackStateFooter.h
__MACOSX\MJRefresh\Custom\Footer\Back\._MJRefreshBackStateFooter.h
MJRefresh\Custom\Footer\Back\MJRefreshBackStateFooter.m
__MACOSX\MJRefresh\Custom\Footer\Back\._MJRefreshBackStateFooter.m
........\.........\......\......\._Back
........\.........\......\._Footer
MJRefresh\Custom\Header
.........\......\......\MJRefreshGifHeader.h
__MACOSX\MJRefresh\Custom\Header
........\.........\......\......\._MJRefreshGifHeader.h
MJRefresh\Custom\Header\MJRefreshGifHeader.m
__MACOSX\MJRefresh\Custom\Header\._MJRefreshGifHeader.m
MJRefresh\Custom\Header\MJRefreshNormalHeader.h
__MACOSX\MJRefresh\Custom\Header\._MJRefreshNormalHeader.h
MJRefresh\Custom\Header\MJRefreshNormalHeader.m
__MACOSX\MJRefresh\Custom\Header\._MJRefreshNormalHeader.m
MJRefresh\Custom\Header\MJRefreshStateHeader.h
__MACOSX\MJRefresh\Custom\Header\._MJRefreshStateHeader.h
MJRefresh\Custom\Header\MJRefreshStateHeader.m
__MACOSX\MJRefresh\Custom\Header\._MJRefreshStateHeader.m
........\.........\......\._Header
........\.........\._Custom
MJRefresh\MJRefresh.bundle
.........\................\arrow@2x.png
__MACOSX\MJRefresh\MJRefresh.bundle
........\.........\................\._arrow@2x.png
........\.........\._MJRefresh.bundle
MJRefresh\MJRefresh.h
__MACOSX\MJRefresh\._MJRefresh.h
MJRefresh\MJRefreshConst.h
__MACOSX\MJRefresh\._MJRefreshConst.h
MJRefresh\MJRefreshConst.m
__MACOSX\MJRefresh\._MJRefreshConst.m
MJRefresh\UIScrollView+MJExtension.h
__MACOSX\MJRefresh\._UIScrollView+MJExtension.h
MJRefresh\UIScrollView+MJExtension.m
__MACOSX\MJRefresh\._UIScrollView+MJExtension.m
MJRefresh\UISc