├── .github
└── ISSUE_TEMPLATE
│ ├── bug--.md
│ └── feature--.md
├── .gitignore
├── Document
├── JXPagingView原理.md
├── 侧滑手势处理.md
└── 全屏手势处理.md
├── Examples
├── JXPagerViewExample-OC
│ ├── JXPagerViewExample-OC.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ ├── JXPagerViewExample-OC.xcworkspace
│ │ └── contents.xcworkspacedata
│ ├── JXPagerViewExample-OC
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ └── down.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── down.png
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Example
│ │ │ ├── BGImageHeader
│ │ │ │ ├── BGImageHeaderViewController.h
│ │ │ │ └── BGImageHeaderViewController.m
│ │ │ ├── Banner
│ │ │ │ ├── BannerViewController.h
│ │ │ │ └── BannerViewController.m
│ │ │ ├── Common
│ │ │ │ ├── BaseNavigationController.h
│ │ │ │ ├── BaseNavigationController.m
│ │ │ │ ├── DetailViewController.h
│ │ │ │ ├── DetailViewController.m
│ │ │ │ ├── ListViewController.h
│ │ │ │ ├── ListViewController.m
│ │ │ │ ├── PagingViewBannerTableHeaderView.h
│ │ │ │ ├── PagingViewBannerTableHeaderView.m
│ │ │ │ ├── PagingViewController.h
│ │ │ │ ├── PagingViewController.m
│ │ │ │ ├── PagingViewTableHeaderView.h
│ │ │ │ ├── PagingViewTableHeaderView.m
│ │ │ │ ├── TestListBaseView.h
│ │ │ │ ├── TestListBaseView.m
│ │ │ │ ├── TestTableViewCell.h
│ │ │ │ ├── TestTableViewCell.m
│ │ │ │ ├── UIWindow+JXSafeArea.h
│ │ │ │ └── UIWindow+JXSafeArea.m
│ │ │ ├── CustomCategory
│ │ │ │ ├── CustomCategoryViewController.h
│ │ │ │ └── CustomCategoryViewController.m
│ │ │ ├── CustomPinView
│ │ │ │ ├── CustomPinViewViewController.h
│ │ │ │ └── CustomPinViewViewController.m
│ │ │ ├── DynamicHeader
│ │ │ │ ├── DynamicHeader.h
│ │ │ │ ├── DynamicHeader.m
│ │ │ │ ├── DynamicHeaderViewController.h
│ │ │ │ └── DynamicHeaderViewController.m
│ │ │ ├── FullScreenGesture
│ │ │ │ ├── FullScreenGestureScrollView.h
│ │ │ │ ├── FullScreenGestureScrollView.m
│ │ │ │ ├── FullScreenGestureViewController.h
│ │ │ │ └── FullScreenGestureViewController.m
│ │ │ ├── HeaderPosition
│ │ │ │ ├── HeaderPositionViewController.h
│ │ │ │ └── HeaderPositionViewController.m
│ │ │ ├── HeaderPositionChange
│ │ │ │ ├── HeaderPositionChangeViewController.h
│ │ │ │ └── HeaderPositionChangeViewController.m
│ │ │ ├── MainTableViewOffset
│ │ │ │ ├── MainTableViewOffsetViewController.h
│ │ │ │ └── MainTableViewOffsetViewController.m
│ │ │ ├── NavigationBarHidden
│ │ │ │ ├── NaviBarHiddenViewController.h
│ │ │ │ └── NaviBarHiddenViewController.m
│ │ │ ├── Nest
│ │ │ │ ├── PagingNestCategoryListViewController.h
│ │ │ │ ├── PagingNestCategoryListViewController.m
│ │ │ │ ├── PagingNestCategoryViewController.h
│ │ │ │ ├── PagingNestCategoryViewController.m
│ │ │ │ ├── TestNestListBaseView.h
│ │ │ │ └── TestNestListBaseView.m
│ │ │ ├── Refresh
│ │ │ │ ├── ListRefreshViewController.h
│ │ │ │ ├── ListRefreshViewController.m
│ │ │ │ ├── RefreshViewController.h
│ │ │ │ └── RefreshViewController.m
│ │ │ ├── ReloadWithoutInitList
│ │ │ │ ├── ReloadWithoutInitListViewController.h
│ │ │ │ └── ReloadWithoutInitListViewController.m
│ │ │ ├── ScrollToListCell
│ │ │ │ ├── ScrollToListCellViewController.h
│ │ │ │ └── ScrollToListCellViewController.m
│ │ │ ├── ScrollToTop
│ │ │ │ ├── ScrollToTopViewController.h
│ │ │ │ └── ScrollToTopViewController.m
│ │ │ ├── Smooth
│ │ │ │ ├── JXPagerSmoothCollectionFlowLayout.h
│ │ │ │ ├── JXPagerSmoothCollectionFlowLayout.m
│ │ │ │ ├── SmoothCustomPagerHeaderViewController.h
│ │ │ │ ├── SmoothCustomPagerHeaderViewController.m
│ │ │ │ ├── SmoothListCollectionViewController.h
│ │ │ │ ├── SmoothListCollectionViewController.m
│ │ │ │ ├── SmoothListScrollViewController.h
│ │ │ │ ├── SmoothListScrollViewController.m
│ │ │ │ ├── SmoothListViewController.h
│ │ │ │ ├── SmoothListViewController.m
│ │ │ │ ├── SmoothTableView.h
│ │ │ │ ├── SmoothTableView.m
│ │ │ │ ├── SmoothViewController.h
│ │ │ │ ├── SmoothViewController.m
│ │ │ │ └── SmoothViewDefines.h
│ │ │ ├── TabBar
│ │ │ │ ├── TabBarExampleViewController.h
│ │ │ │ └── TabBarExampleViewController.m
│ │ │ ├── XIBHeader
│ │ │ │ ├── XIBHeader.h
│ │ │ │ ├── XIBHeader.m
│ │ │ │ ├── XIBHeader.xib
│ │ │ │ ├── XIBHeaderViewController.h
│ │ │ │ └── XIBHeaderViewController.m
│ │ │ └── Zoom
│ │ │ │ ├── ZoomViewController.h
│ │ │ │ └── ZoomViewController.m
│ │ ├── Info.plist
│ │ ├── PrefixHeader.pch
│ │ ├── ViewController.h
│ │ ├── ViewController.m
│ │ └── main.m
│ ├── Podfile
│ ├── Podfile.lock
│ └── Pods
│ │ ├── FDFullscreenPopGesture
│ │ ├── FDFullscreenPopGesture
│ │ │ ├── UINavigationController+FDFullscreenPopGesture.h
│ │ │ └── UINavigationController+FDFullscreenPopGesture.m
│ │ ├── LICENSE
│ │ └── README.md
│ │ ├── Headers
│ │ ├── Private
│ │ │ ├── FDFullscreenPopGesture
│ │ │ │ └── UINavigationController+FDFullscreenPopGesture.h
│ │ │ ├── JXCategoryView
│ │ │ │ ├── JXCategoryBaseCell.h
│ │ │ │ ├── JXCategoryBaseCellModel.h
│ │ │ │ ├── JXCategoryBaseView.h
│ │ │ │ ├── JXCategoryCollectionView.h
│ │ │ │ ├── JXCategoryDotCell.h
│ │ │ │ ├── JXCategoryDotCellModel.h
│ │ │ │ ├── JXCategoryDotView.h
│ │ │ │ ├── JXCategoryFactory.h
│ │ │ │ ├── JXCategoryImageCell.h
│ │ │ │ ├── JXCategoryImageCellModel.h
│ │ │ │ ├── JXCategoryImageView.h
│ │ │ │ ├── JXCategoryIndicatorBackgroundView.h
│ │ │ │ ├── JXCategoryIndicatorBallView.h
│ │ │ │ ├── JXCategoryIndicatorCell.h
│ │ │ │ ├── JXCategoryIndicatorCellModel.h
│ │ │ │ ├── JXCategoryIndicatorComponentView.h
│ │ │ │ ├── JXCategoryIndicatorDotLineView.h
│ │ │ │ ├── JXCategoryIndicatorImageView.h
│ │ │ │ ├── JXCategoryIndicatorLineView.h
│ │ │ │ ├── JXCategoryIndicatorParamsModel.h
│ │ │ │ ├── JXCategoryIndicatorProtocol.h
│ │ │ │ ├── JXCategoryIndicatorRainbowLineView.h
│ │ │ │ ├── JXCategoryIndicatorTriangleView.h
│ │ │ │ ├── JXCategoryIndicatorView.h
│ │ │ │ ├── JXCategoryListContainerView.h
│ │ │ │ ├── JXCategoryNumberCell.h
│ │ │ │ ├── JXCategoryNumberCellModel.h
│ │ │ │ ├── JXCategoryNumberView.h
│ │ │ │ ├── JXCategoryTitleCell.h
│ │ │ │ ├── JXCategoryTitleCellModel.h
│ │ │ │ ├── JXCategoryTitleImageCell.h
│ │ │ │ ├── JXCategoryTitleImageCellModel.h
│ │ │ │ ├── JXCategoryTitleImageView.h
│ │ │ │ ├── JXCategoryTitleVerticalZoomCell.h
│ │ │ │ ├── JXCategoryTitleVerticalZoomCellModel.h
│ │ │ │ ├── JXCategoryTitleVerticalZoomView.h
│ │ │ │ ├── JXCategoryTitleView.h
│ │ │ │ ├── JXCategoryView.h
│ │ │ │ ├── JXCategoryViewAnimator.h
│ │ │ │ ├── JXCategoryViewDefines.h
│ │ │ │ └── UIColor+JXAdd.h
│ │ │ ├── JXPagingView
│ │ │ │ ├── JXPagerListContainerView.h
│ │ │ │ ├── JXPagerListRefreshView.h
│ │ │ │ ├── JXPagerMainTableView.h
│ │ │ │ ├── JXPagerSmoothView.h
│ │ │ │ ├── JXPagerView.h
│ │ │ │ └── JXRTLFlowLayout.h
│ │ │ └── MJRefresh
│ │ │ │ ├── MJRefresh.h
│ │ │ │ ├── MJRefreshAutoFooter.h
│ │ │ │ ├── MJRefreshAutoGifFooter.h
│ │ │ │ ├── MJRefreshAutoNormalFooter.h
│ │ │ │ ├── MJRefreshAutoStateFooter.h
│ │ │ │ ├── MJRefreshBackFooter.h
│ │ │ │ ├── MJRefreshBackGifFooter.h
│ │ │ │ ├── MJRefreshBackNormalFooter.h
│ │ │ │ ├── MJRefreshBackStateFooter.h
│ │ │ │ ├── MJRefreshComponent.h
│ │ │ │ ├── MJRefreshConfig.h
│ │ │ │ ├── MJRefreshConst.h
│ │ │ │ ├── MJRefreshFooter.h
│ │ │ │ ├── MJRefreshGifHeader.h
│ │ │ │ ├── MJRefreshHeader.h
│ │ │ │ ├── MJRefreshNormalHeader.h
│ │ │ │ ├── MJRefreshStateHeader.h
│ │ │ │ ├── NSBundle+MJRefresh.h
│ │ │ │ ├── UIScrollView+MJExtension.h
│ │ │ │ ├── UIScrollView+MJRefresh.h
│ │ │ │ └── UIView+MJExtension.h
│ │ └── Public
│ │ │ ├── FDFullscreenPopGesture
│ │ │ └── UINavigationController+FDFullscreenPopGesture.h
│ │ │ ├── JXCategoryView
│ │ │ ├── JXCategoryBaseCell.h
│ │ │ ├── JXCategoryBaseCellModel.h
│ │ │ ├── JXCategoryBaseView.h
│ │ │ ├── JXCategoryCollectionView.h
│ │ │ ├── JXCategoryDotCell.h
│ │ │ ├── JXCategoryDotCellModel.h
│ │ │ ├── JXCategoryDotView.h
│ │ │ ├── JXCategoryFactory.h
│ │ │ ├── JXCategoryImageCell.h
│ │ │ ├── JXCategoryImageCellModel.h
│ │ │ ├── JXCategoryImageView.h
│ │ │ ├── JXCategoryIndicatorBackgroundView.h
│ │ │ ├── JXCategoryIndicatorBallView.h
│ │ │ ├── JXCategoryIndicatorCell.h
│ │ │ ├── JXCategoryIndicatorCellModel.h
│ │ │ ├── JXCategoryIndicatorComponentView.h
│ │ │ ├── JXCategoryIndicatorDotLineView.h
│ │ │ ├── JXCategoryIndicatorImageView.h
│ │ │ ├── JXCategoryIndicatorLineView.h
│ │ │ ├── JXCategoryIndicatorParamsModel.h
│ │ │ ├── JXCategoryIndicatorProtocol.h
│ │ │ ├── JXCategoryIndicatorRainbowLineView.h
│ │ │ ├── JXCategoryIndicatorTriangleView.h
│ │ │ ├── JXCategoryIndicatorView.h
│ │ │ ├── JXCategoryListContainerView.h
│ │ │ ├── JXCategoryNumberCell.h
│ │ │ ├── JXCategoryNumberCellModel.h
│ │ │ ├── JXCategoryNumberView.h
│ │ │ ├── JXCategoryTitleCell.h
│ │ │ ├── JXCategoryTitleCellModel.h
│ │ │ ├── JXCategoryTitleImageCell.h
│ │ │ ├── JXCategoryTitleImageCellModel.h
│ │ │ ├── JXCategoryTitleImageView.h
│ │ │ ├── JXCategoryTitleVerticalZoomCell.h
│ │ │ ├── JXCategoryTitleVerticalZoomCellModel.h
│ │ │ ├── JXCategoryTitleVerticalZoomView.h
│ │ │ ├── JXCategoryTitleView.h
│ │ │ ├── JXCategoryView.h
│ │ │ ├── JXCategoryViewAnimator.h
│ │ │ ├── JXCategoryViewDefines.h
│ │ │ └── UIColor+JXAdd.h
│ │ │ ├── JXPagingView
│ │ │ ├── JXPagerListContainerView.h
│ │ │ ├── JXPagerListRefreshView.h
│ │ │ ├── JXPagerMainTableView.h
│ │ │ ├── JXPagerSmoothView.h
│ │ │ ├── JXPagerView.h
│ │ │ └── JXRTLFlowLayout.h
│ │ │ └── MJRefresh
│ │ │ ├── MJRefresh.h
│ │ │ ├── MJRefreshAutoFooter.h
│ │ │ ├── MJRefreshAutoGifFooter.h
│ │ │ ├── MJRefreshAutoNormalFooter.h
│ │ │ ├── MJRefreshAutoStateFooter.h
│ │ │ ├── MJRefreshBackFooter.h
│ │ │ ├── MJRefreshBackGifFooter.h
│ │ │ ├── MJRefreshBackNormalFooter.h
│ │ │ ├── MJRefreshBackStateFooter.h
│ │ │ ├── MJRefreshComponent.h
│ │ │ ├── MJRefreshConfig.h
│ │ │ ├── MJRefreshConst.h
│ │ │ ├── MJRefreshFooter.h
│ │ │ ├── MJRefreshGifHeader.h
│ │ │ ├── MJRefreshHeader.h
│ │ │ ├── MJRefreshNormalHeader.h
│ │ │ ├── MJRefreshStateHeader.h
│ │ │ ├── NSBundle+MJRefresh.h
│ │ │ ├── UIScrollView+MJExtension.h
│ │ │ ├── UIScrollView+MJRefresh.h
│ │ │ └── UIView+MJExtension.h
│ │ ├── JXCategoryView
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Sources
│ │ │ ├── Base
│ │ │ ├── JXCategoryBaseCell.h
│ │ │ ├── JXCategoryBaseCell.m
│ │ │ ├── JXCategoryBaseCellModel.h
│ │ │ ├── JXCategoryBaseCellModel.m
│ │ │ ├── JXCategoryBaseView.h
│ │ │ └── JXCategoryBaseView.m
│ │ │ ├── Common
│ │ │ ├── JXCategoryCollectionView.h
│ │ │ ├── JXCategoryCollectionView.m
│ │ │ ├── JXCategoryFactory.h
│ │ │ ├── JXCategoryFactory.m
│ │ │ ├── JXCategoryIndicatorParamsModel.h
│ │ │ ├── JXCategoryIndicatorParamsModel.m
│ │ │ ├── JXCategoryIndicatorProtocol.h
│ │ │ ├── JXCategoryListContainerView.h
│ │ │ ├── JXCategoryListContainerView.m
│ │ │ ├── JXCategoryViewAnimator.h
│ │ │ ├── JXCategoryViewAnimator.m
│ │ │ ├── JXCategoryViewDefines.h
│ │ │ ├── UIColor+JXAdd.h
│ │ │ └── UIColor+JXAdd.m
│ │ │ ├── Dot
│ │ │ ├── JXCategoryDotCell.h
│ │ │ ├── JXCategoryDotCell.m
│ │ │ ├── JXCategoryDotCellModel.h
│ │ │ ├── JXCategoryDotCellModel.m
│ │ │ ├── JXCategoryDotView.h
│ │ │ └── JXCategoryDotView.m
│ │ │ ├── Image
│ │ │ ├── JXCategoryImageCell.h
│ │ │ ├── JXCategoryImageCell.m
│ │ │ ├── JXCategoryImageCellModel.h
│ │ │ ├── JXCategoryImageCellModel.m
│ │ │ ├── JXCategoryImageView.h
│ │ │ └── JXCategoryImageView.m
│ │ │ ├── Indicator
│ │ │ ├── IndicatorViews
│ │ │ │ ├── JXCategoryIndicatorBackgroundView.h
│ │ │ │ ├── JXCategoryIndicatorBackgroundView.m
│ │ │ │ ├── JXCategoryIndicatorBallView.h
│ │ │ │ ├── JXCategoryIndicatorBallView.m
│ │ │ │ ├── JXCategoryIndicatorComponentView.h
│ │ │ │ ├── JXCategoryIndicatorComponentView.m
│ │ │ │ ├── JXCategoryIndicatorDotLineView.h
│ │ │ │ ├── JXCategoryIndicatorDotLineView.m
│ │ │ │ ├── JXCategoryIndicatorImageView.h
│ │ │ │ ├── JXCategoryIndicatorImageView.m
│ │ │ │ ├── JXCategoryIndicatorLineView.h
│ │ │ │ ├── JXCategoryIndicatorLineView.m
│ │ │ │ ├── JXCategoryIndicatorRainbowLineView.h
│ │ │ │ ├── JXCategoryIndicatorRainbowLineView.m
│ │ │ │ ├── JXCategoryIndicatorTriangleView.h
│ │ │ │ └── JXCategoryIndicatorTriangleView.m
│ │ │ ├── JXCategoryIndicatorCell.h
│ │ │ ├── JXCategoryIndicatorCell.m
│ │ │ ├── JXCategoryIndicatorCellModel.h
│ │ │ ├── JXCategoryIndicatorCellModel.m
│ │ │ ├── JXCategoryIndicatorView.h
│ │ │ └── JXCategoryIndicatorView.m
│ │ │ ├── JXCategoryView.h
│ │ │ ├── Number
│ │ │ ├── JXCategoryNumberCell.h
│ │ │ ├── JXCategoryNumberCell.m
│ │ │ ├── JXCategoryNumberCellModel.h
│ │ │ ├── JXCategoryNumberCellModel.m
│ │ │ ├── JXCategoryNumberView.h
│ │ │ └── JXCategoryNumberView.m
│ │ │ ├── Title
│ │ │ ├── JXCategoryTitleCell.h
│ │ │ ├── JXCategoryTitleCell.m
│ │ │ ├── JXCategoryTitleCellModel.h
│ │ │ ├── JXCategoryTitleCellModel.m
│ │ │ ├── JXCategoryTitleView.h
│ │ │ └── JXCategoryTitleView.m
│ │ │ ├── TitleImage
│ │ │ ├── JXCategoryTitleImageCell.h
│ │ │ ├── JXCategoryTitleImageCell.m
│ │ │ ├── JXCategoryTitleImageCellModel.h
│ │ │ ├── JXCategoryTitleImageCellModel.m
│ │ │ ├── JXCategoryTitleImageView.h
│ │ │ └── JXCategoryTitleImageView.m
│ │ │ └── VerticalZoomTitle
│ │ │ ├── JXCategoryTitleVerticalZoomCell.h
│ │ │ ├── JXCategoryTitleVerticalZoomCell.m
│ │ │ ├── JXCategoryTitleVerticalZoomCellModel.h
│ │ │ ├── JXCategoryTitleVerticalZoomCellModel.m
│ │ │ ├── JXCategoryTitleVerticalZoomView.h
│ │ │ └── JXCategoryTitleVerticalZoomView.m
│ │ ├── Local Podspecs
│ │ └── JXPagingView.podspec.json
│ │ ├── MJRefresh
│ │ ├── LICENSE
│ │ ├── 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
│ │ │ ├── MJRefresh.bundle
│ │ │ │ ├── arrow@2x.png
│ │ │ │ ├── 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
│ │ │ ├── UIScrollView+MJExtension.h
│ │ │ ├── UIScrollView+MJExtension.m
│ │ │ ├── UIScrollView+MJRefresh.h
│ │ │ ├── UIScrollView+MJRefresh.m
│ │ │ ├── UIView+MJExtension.h
│ │ │ └── UIView+MJExtension.m
│ │ └── README.md
│ │ ├── Manifest.lock
│ │ ├── Pods.xcodeproj
│ │ └── project.pbxproj
│ │ └── Target Support Files
│ │ ├── FDFullscreenPopGesture
│ │ ├── FDFullscreenPopGesture-dummy.m
│ │ ├── FDFullscreenPopGesture-prefix.pch
│ │ ├── FDFullscreenPopGesture.debug.xcconfig
│ │ ├── FDFullscreenPopGesture.release.xcconfig
│ │ └── FDFullscreenPopGesture.xcconfig
│ │ ├── JXCategoryView
│ │ ├── JXCategoryView-dummy.m
│ │ ├── JXCategoryView-prefix.pch
│ │ ├── JXCategoryView.debug.xcconfig
│ │ ├── JXCategoryView.release.xcconfig
│ │ └── JXCategoryView.xcconfig
│ │ ├── JXPagingView
│ │ ├── JXPagingView-dummy.m
│ │ ├── JXPagingView-prefix.pch
│ │ ├── JXPagingView.debug.xcconfig
│ │ ├── JXPagingView.release.xcconfig
│ │ ├── JXPagingView.xcconfig
│ │ └── ResourceBundle-JXPagerView-JXPagingView-Info.plist
│ │ ├── MJRefresh
│ │ ├── MJRefresh-dummy.m
│ │ ├── MJRefresh-prefix.pch
│ │ ├── MJRefresh.debug.xcconfig
│ │ ├── MJRefresh.release.xcconfig
│ │ └── MJRefresh.xcconfig
│ │ └── Pods-JXPagerViewExample-OC
│ │ ├── Pods-JXPagerViewExample-OC-acknowledgements.markdown
│ │ ├── Pods-JXPagerViewExample-OC-acknowledgements.plist
│ │ ├── Pods-JXPagerViewExample-OC-dummy.m
│ │ ├── Pods-JXPagerViewExample-OC-resources-Debug-input-files.xcfilelist
│ │ ├── Pods-JXPagerViewExample-OC-resources-Debug-output-files.xcfilelist
│ │ ├── Pods-JXPagerViewExample-OC-resources-Release-input-files.xcfilelist
│ │ ├── Pods-JXPagerViewExample-OC-resources-Release-output-files.xcfilelist
│ │ ├── Pods-JXPagerViewExample-OC-resources.sh
│ │ ├── Pods-JXPagerViewExample-OC.debug.xcconfig
│ │ └── Pods-JXPagerViewExample-OC.release.xcconfig
├── JXPagingViewExample
│ ├── JXPagingViewExample.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ ├── JXPagingViewExample.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── JXPagingViewExample
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Example
│ │ │ ├── CategoryNestPaging
│ │ │ │ ├── NestSubjectViewController.swift
│ │ │ │ └── NestViewController.swift
│ │ │ ├── CollectionView
│ │ │ │ └── CollectionViewViewController.swift
│ │ │ ├── Common
│ │ │ │ ├── BaseNavigationController.swift
│ │ │ │ ├── BaseViewController.swift
│ │ │ │ ├── DetailViewController.swift
│ │ │ │ ├── JXPagingViewListViewable.swift
│ │ │ │ ├── ListCollectionViewController.swift
│ │ │ │ ├── ListViewController.swift
│ │ │ │ ├── PagingViewTableHeaderView.swift
│ │ │ │ ├── TestListBaseView.swift
│ │ │ │ └── UIWindow+JXSafeArea.swift
│ │ │ ├── HeaderPosition
│ │ │ │ └── HeaderPositionViewController.swift
│ │ │ ├── HeightChange
│ │ │ │ ├── HeightChangeAnimationTableHeaderView.swift
│ │ │ │ ├── HeightChangeAnimationViewController.swift
│ │ │ │ └── HeightChangeViewController.swift
│ │ │ ├── NavigationBarHidden
│ │ │ │ └── NaviHiddenViewController.swift
│ │ │ ├── PagingNestCategory
│ │ │ │ ├── PagingNestCategoryExampleViewController.swift
│ │ │ │ └── PagingNestCategoryFirstLayerViewController.swift
│ │ │ ├── PagingNestPaging
│ │ │ │ ├── PagingNestPagingExampleViewController.swift
│ │ │ │ └── PagingNestPagingSubpageViewController.swift
│ │ │ ├── PagingNestTwoCategory
│ │ │ │ ├── PagingNestTwoCategoryExampleViewController.swift
│ │ │ │ ├── PagingNestTwoCategoryFirstLayerViewController.swift
│ │ │ │ └── PagingNestTwoCategorySecondLayerViewController.swift
│ │ │ ├── Refresh
│ │ │ │ ├── ListCacheViewController.swift
│ │ │ │ ├── ListRefreshViewController.swift
│ │ │ │ └── RefreshViewController.swift
│ │ │ ├── Smooth
│ │ │ │ ├── SmoothListViewController.swift
│ │ │ │ └── SmoothViewController.swift
│ │ │ ├── VCContainer
│ │ │ │ ├── VCListViewController.swift
│ │ │ │ └── VCViewController.swift
│ │ │ └── Zoom
│ │ │ │ └── ZoomViewController.swift
│ │ ├── Info.plist
│ │ ├── Swift-Bridge-Objective-C.h
│ │ └── ViewController.swift
│ ├── Podfile
│ ├── Podfile.lock
│ └── Pods
│ │ ├── JXSegmentedView
│ │ ├── LICENSE
│ │ ├── README-English.md
│ │ └── Sources
│ │ │ ├── AttributeTitle
│ │ │ ├── JXSegmentedTitleAttributeCell.swift
│ │ │ ├── JXSegmentedTitleAttributeDataSource.swift
│ │ │ └── JXSegmentedTitleAttributeItemModel.swift
│ │ │ ├── Common
│ │ │ ├── JXSegmentedAnimator.swift
│ │ │ ├── JXSegmentedListContainerView.swift
│ │ │ └── JXSegmentedViewTool.swift
│ │ │ ├── Core
│ │ │ ├── JXSegmentedBaseCell.swift
│ │ │ ├── JXSegmentedBaseDataSource.swift
│ │ │ ├── JXSegmentedBaseItemModel.swift
│ │ │ ├── JXSegmentedCollectionView.swift
│ │ │ └── JXSegmentedView.swift
│ │ │ ├── Dot
│ │ │ ├── JXSegmentedDotCell.swift
│ │ │ ├── JXSegmentedDotDataSource.swift
│ │ │ └── JXSegmentedDotItemModel.swift
│ │ │ ├── Indicator
│ │ │ ├── JXSegmentedComponetGradientView.swift
│ │ │ ├── JXSegmentedIndicatorBackgroundView.swift
│ │ │ ├── JXSegmentedIndicatorBaseView.swift
│ │ │ ├── JXSegmentedIndicatorDotLineView.swift
│ │ │ ├── JXSegmentedIndicatorDoubleLineView.swift
│ │ │ ├── JXSegmentedIndicatorGradientView.swift
│ │ │ ├── JXSegmentedIndicatorImageView.swift
│ │ │ ├── JXSegmentedIndicatorLineView.swift
│ │ │ ├── JXSegmentedIndicatorParamsModel.swift
│ │ │ ├── JXSegmentedIndicatorProtocol.swift
│ │ │ ├── JXSegmentedIndicatorRainbowLineView.swift
│ │ │ └── JXSegmentedIndicatorTriangleView.swift
│ │ │ ├── Number
│ │ │ ├── JXSegmentedNumberCell.swift
│ │ │ ├── JXSegmentedNumberDataSource.swift
│ │ │ └── JXSegmentedNumberItemModel.swift
│ │ │ ├── Title
│ │ │ ├── JXSegmentedTitleCell.swift
│ │ │ ├── JXSegmentedTitleDataSource.swift
│ │ │ └── JXSegmentedTitleItemModel.swift
│ │ │ ├── TitleGradient
│ │ │ ├── JXSegmentedTitleGradientCell.swift
│ │ │ ├── JXSegmentedTitleGradientDataSource.swift
│ │ │ └── JXSegmentedTitleGradientItemModel.swift
│ │ │ ├── TitleImage
│ │ │ ├── JXSegmentedTitleImageCell.swift
│ │ │ ├── JXSegmentedTitleImageDataSource.swift
│ │ │ └── JXSegmentedTitleImageItemModel.swift
│ │ │ └── TitleOrImage
│ │ │ ├── JXSegmentedTitleOrImageCell.swift
│ │ │ ├── JXSegmentedTitleOrImageDataSource.swift
│ │ │ └── JXSegmentedTitleOrImageItemModel.swift
│ │ ├── Local Podspecs
│ │ └── JXPagingView.podspec.json
│ │ ├── MJRefresh
│ │ ├── LICENSE
│ │ ├── 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
│ │ │ ├── MJRefresh.bundle
│ │ │ │ ├── arrow@2x.png
│ │ │ │ ├── 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
│ │ │ ├── UIScrollView+MJExtension.h
│ │ │ ├── UIScrollView+MJExtension.m
│ │ │ ├── UIScrollView+MJRefresh.h
│ │ │ ├── UIScrollView+MJRefresh.m
│ │ │ ├── UIView+MJExtension.h
│ │ │ └── UIView+MJExtension.m
│ │ └── README.md
│ │ ├── Manifest.lock
│ │ ├── Pods.xcodeproj
│ │ └── project.pbxproj
│ │ └── Target Support Files
│ │ ├── JXPagingView
│ │ ├── JXPagingView-Info.plist
│ │ ├── JXPagingView-dummy.m
│ │ ├── JXPagingView-prefix.pch
│ │ ├── JXPagingView-umbrella.h
│ │ ├── JXPagingView.debug.xcconfig
│ │ ├── JXPagingView.modulemap
│ │ ├── JXPagingView.release.xcconfig
│ │ ├── JXPagingView.xcconfig
│ │ └── ResourceBundle-JXPagingView-JXPagingView-Info.plist
│ │ ├── JXSegmentedView
│ │ ├── JXSegmentedView-Info.plist
│ │ ├── JXSegmentedView-dummy.m
│ │ ├── JXSegmentedView-prefix.pch
│ │ ├── JXSegmentedView-umbrella.h
│ │ ├── JXSegmentedView.debug.xcconfig
│ │ ├── JXSegmentedView.modulemap
│ │ ├── JXSegmentedView.release.xcconfig
│ │ └── JXSegmentedView.xcconfig
│ │ ├── MJRefresh
│ │ ├── MJRefresh-Info.plist
│ │ ├── MJRefresh-dummy.m
│ │ ├── MJRefresh-prefix.pch
│ │ ├── MJRefresh-umbrella.h
│ │ ├── MJRefresh.debug.xcconfig
│ │ ├── MJRefresh.modulemap
│ │ ├── MJRefresh.release.xcconfig
│ │ └── MJRefresh.xcconfig
│ │ └── Pods-JXPagingViewExample
│ │ ├── Pods-JXPagingViewExample-Info.plist
│ │ ├── Pods-JXPagingViewExample-acknowledgements.markdown
│ │ ├── Pods-JXPagingViewExample-acknowledgements.plist
│ │ ├── Pods-JXPagingViewExample-dummy.m
│ │ ├── Pods-JXPagingViewExample-frameworks-Debug-input-files.xcfilelist
│ │ ├── Pods-JXPagingViewExample-frameworks-Debug-output-files.xcfilelist
│ │ ├── Pods-JXPagingViewExample-frameworks-Release-input-files.xcfilelist
│ │ ├── Pods-JXPagingViewExample-frameworks-Release-output-files.xcfilelist
│ │ ├── Pods-JXPagingViewExample-frameworks.sh
│ │ ├── Pods-JXPagingViewExample-umbrella.h
│ │ ├── Pods-JXPagingViewExample.debug.xcconfig
│ │ ├── Pods-JXPagingViewExample.modulemap
│ │ └── Pods-JXPagingViewExample.release.xcconfig
├── down.png
└── lufei.jpg
├── JXPagingView.podspec
├── JXRTLFlowLayout.swift
├── LICENSE
├── Package.swift
├── README.md
└── Sources
├── JXPagerView
├── JXPagerListContainerView.h
├── JXPagerListContainerView.m
├── JXPagerListRefreshView.h
├── JXPagerListRefreshView.m
├── JXPagerMainTableView.h
├── JXPagerMainTableView.m
├── JXPagerSmoothView.h
├── JXPagerSmoothView.m
├── JXPagerView.h
├── JXPagerView.m
├── JXRTLFlowLayout.h
└── JXRTLFlowLayout.m
├── JXPagingView
├── JXPagingListContainerView.swift
├── JXPagingListRefreshView.swift
├── JXPagingMainTableView.swift
├── JXPagingSmoothView.swift
├── JXPagingView.swift
└── JXRTLFlowLayout.swift
└── PrivacyInfo.xcprivacy
/.github/ISSUE_TEMPLATE/bug--.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug提交
3 | about: 提交清晰明了的bug
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **bug提交前阅读**
11 | 1.请先仔细阅读文档,尤其是【其他注意事项】文档,里面有常见问题的解决方案;
12 | 2.请先搜索已有的Issues,尝试找到相同问题的讨论;
13 | 3.请先阅读相关类的API、源码,尝试从源码找到答案;
14 | 4.如果以上步骤都未能解决你的疑问,欢迎提交ISSUE;
15 |
16 | **bug描述**
17 | 请简单描述你的bug现象。
18 |
19 | **版本号**
20 | 1.JXPagingView版本号:?
21 | 2.OC还是Swift版本:?
22 | 3.手机系统版本号:?
23 | 4.手机型号:?
24 |
25 | **复现步骤**
26 | 1. 遇到问题的相关效果、类是:?
27 | 2.具体的操作步骤是:?
28 |
29 | **截图、GIF**
30 | 提供bug出现时的截图或者GIF。
31 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature--.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature提交
3 | about: 提交清晰明了的Feature
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Feature描述**
11 | 请简单描述你想要的效果:?
12 |
13 | **参考效果**
14 | 如果你想要实现一个其他APP已有的效果:
15 | 1.参考APP名字:?
16 | 2.目标页面路径:?
17 | 3.目标效果截图:?
18 |
19 | **其他补充**
20 | 关于目标效果的其他说明:?
21 |
--------------------------------------------------------------------------------
/Document/JXPagingView原理.md:
--------------------------------------------------------------------------------
1 | # JXPagingView原理
2 |
3 | ## 视图层级
4 |
5 | 
6 |
7 | ## 主列表与子列表的垂直滚动交互
8 |
9 | `JXPagerMainTableView`实现了代理方法`- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer`,当两个`gestureRecognizer`都是`UIPanGestureRecognizer`时,即是主列表滚动手势和子列表滚动手势时,让两个手势同时响应。这时,滚动子列表时就会同步让主列表滚动。
10 |
11 | 为了实现子列表从下滚动到上面,并且让分类选择器视图悬浮到顶部,就需要在主列表和子列表的`scrollViewDidScroll`代理方法做特殊处理。
12 |
13 | ### 主列表`scrollViewDidScroll`滚动处理
14 |
15 | - mainTableView的header已经滚动不见,开始滚动某一个listView,那么固定mainTableView的contentOffset,让其不动
16 | - mainTableView已经显示了header,listView的contentOffset需要重置
17 |
18 | ### 子列表`scrollViewDidScroll`滚动处理
19 |
20 | - mainTableView的header还没有消失,让listScrollView一直为0
21 | - mainTableView的header刚好消失,固定mainTableView的位置,显示listScrollView的滚动条,子列表继续滚动
22 |
23 | ## 子列表的左右滚动交互
24 |
25 | 子列表都是被添加到`JXPagerListContainerView`的`collectionView`的cell上面的,当`collectionView`左右滚动的时候,会禁止主列表的滚动`self.mainTableView.scrollEnabled = NO;`。这样子就实现了,左右滚动时,无法上下滚动。
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Document/侧滑手势处理.md:
--------------------------------------------------------------------------------
1 | # 侧滑手势处理
2 |
3 | ```
4 | self.navigationController?.interactivePopGestureRecognizer?.delegate = self
5 | ```
6 |
7 | ```
8 | // MARK: - UIGestureRecognizerDelegate
9 | extension xxVC {
10 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
11 | if String(describing: otherGestureRecognizer.view.self).contains("JXPagingView"), let scrollView = otherGestureRecognizer.view as? UIScrollView {
12 | if scrollView.contentOffset.x <= 0 {
13 | return true
14 | }
15 | }
16 | return false
17 | }
18 | }
19 | ```
20 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/9/12.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Assets.xcassets/down.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "down.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 | }
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Assets.xcassets/down.imageset/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Assets.xcassets/down.imageset/down.png
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/BGImageHeader/BGImageHeaderViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // BGImageHeaderViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/1/2.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface BGImageHeaderViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Banner/BannerViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // BannerViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/2/25.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface BannerViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/BaseNavigationController.h:
--------------------------------------------------------------------------------
1 | //
2 | // BaseNavigationController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/3/15.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface BaseNavigationController : UINavigationController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/DetailViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // DetailViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/1/28.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface DetailViewController : UIViewController
14 | @property (nonatomic, copy) NSString *infoString;
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/DetailViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // DetailViewController.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/1/28.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "DetailViewController.h"
10 |
11 | @interface DetailViewController ()
12 | @property (nonatomic, strong) UILabel *titleLabel;
13 | @end
14 |
15 | @implementation DetailViewController
16 |
17 | - (void)viewDidLoad {
18 | [super viewDidLoad];
19 |
20 | self.view.backgroundColor = [UIColor whiteColor];
21 |
22 | self.titleLabel = [[UILabel alloc] init];
23 | self.titleLabel.font = [UIFont systemFontOfSize:25];
24 | self.titleLabel.text = self.infoString;
25 | [self.view addSubview:self.titleLabel];
26 | }
27 |
28 | - (void)viewDidLayoutSubviews {
29 | [super viewDidLayoutSubviews];
30 |
31 | [self.titleLabel sizeToFit];
32 | self.titleLabel.center = self.view.center;
33 | }
34 |
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/ListViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ListViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/12/30.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXPagerView.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface ListViewController : UIViewController
15 | @property (nonatomic, strong) UITableView *tableView;
16 | @property (nonatomic, strong) NSMutableArray *dataSource;
17 | @property (nonatomic, assign) BOOL isNeedFooter;
18 | @property (nonatomic, assign) BOOL isNeedHeader;
19 | @property (nonatomic, assign) BOOL isHeaderRefreshed; //默认为YES
20 | @end
21 |
22 | NS_ASSUME_NONNULL_END
23 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/PagingViewBannerTableHeaderView.h:
--------------------------------------------------------------------------------
1 | //
2 | // PagingViewBannerTableHeaderView.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/2/25.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface PagingViewBannerTableHeaderView : UIView
14 | @property (nonatomic, strong) UICollectionView *collectionView;
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/PagingViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // OCExampleViewController.h
3 | // JXPagingView
4 | //
5 | // Created by jiaxin on 2018/8/27.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXPagerView.h"
11 | #import "PagingViewTableHeaderView.h"
12 | #import "ListViewController.h"
13 | #import "JXCategoryTitleView.h"
14 |
15 | static const CGFloat JXTableHeaderViewHeight = 200;
16 | static const CGFloat JXheightForHeaderInSection = 50;
17 |
18 | @interface PagingViewController : UIViewController
19 |
20 | @property (nonatomic, strong) JXPagerView *pagerView;
21 | @property (nonatomic, strong) PagingViewTableHeaderView *userHeaderView;
22 | @property (nonatomic, strong, readonly) JXCategoryTitleView *categoryView;
23 | @property (nonatomic, assign) BOOL isNeedFooter;
24 | @property (nonatomic, assign) BOOL isNeedHeader;
25 | - (JXPagerView *)preferredPagingView;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/PagingViewTableHeaderView.h:
--------------------------------------------------------------------------------
1 | //
2 | // PagingViewTableHeaderView.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/27.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface PagingViewTableHeaderView : UIView
12 |
13 | - (void)scrollViewDidScroll:(CGFloat)contentOffsetY;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/TestListBaseView.h:
--------------------------------------------------------------------------------
1 | //
2 | // TestListBaseView.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/27.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXPagerView.h"
11 |
12 | @interface TestListBaseView : UIView
13 |
14 | @property (nonatomic, weak) UINavigationController *naviController;
15 | @property (nonatomic, strong) UITableView *tableView;
16 | @property (nonatomic, strong) NSMutableArray *dataSource;
17 | @property (nonatomic, assign) BOOL isNeedFooter;
18 | @property (nonatomic, assign) BOOL isNeedHeader;
19 |
20 | - (void)beginFirstRefresh;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/TestTableViewCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // TestTableViewCell.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/9/12.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface TestTableViewCell : UITableViewCell
12 | @property (nonatomic, copy) void(^bgButtonClicked)(void);
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/UIWindow+JXSafeArea.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIWindow+JXSafeArea.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/9/29.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface UIWindow (JXSafeArea)
14 |
15 | - (UIEdgeInsets)jx_layoutInsets;
16 |
17 | - (CGFloat)jx_navigationHeight;
18 |
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Common/UIWindow+JXSafeArea.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIWindow+JXSafeArea.m
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/9/29.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "UIWindow+JXSafeArea.h"
10 |
11 | @implementation UIWindow (JXSafeArea)
12 |
13 | - (UIEdgeInsets)jx_layoutInsets {
14 | if (@available(iOS 11.0, *)) {
15 | UIEdgeInsets safeAreaInsets = self.safeAreaInsets;
16 | if (safeAreaInsets.bottom > 0) {
17 | //参考文章:https://mp.weixin.qq.com/s/Ik2zBox3_w0jwfVuQUJAUw
18 | return safeAreaInsets;
19 | }
20 | return UIEdgeInsetsMake(20, 0, 0, 0);
21 | }
22 | return UIEdgeInsetsMake(20, 0, 0, 0);
23 | }
24 |
25 | - (CGFloat)jx_navigationHeight {
26 | CGFloat statusBarHeight = [self jx_layoutInsets].top;
27 | return statusBarHeight + 44;
28 | }
29 |
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/CustomCategory/CustomCategoryViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // CustomCategoryViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/1/15.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface CustomCategoryViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/CustomPinView/CustomPinViewViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // CustomPinViewViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/1/9.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface CustomPinViewViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/DynamicHeader/DynamicHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // DynamicHeader.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/5/22.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface DynamicHeader : UIView
14 |
15 | @property(nonatomic, copy) void(^didRequested)(CGFloat);
16 | - (void)startRequest;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/DynamicHeader/DynamicHeaderViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // DynamicHeaderViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/5/22.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface DynamicHeaderViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/FullScreenGesture/FullScreenGestureScrollView.h:
--------------------------------------------------------------------------------
1 | //
2 | // FullScreenGestureScrollView.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/4/21.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface FullScreenGestureScrollView : UIScrollView
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/FullScreenGesture/FullScreenGestureScrollView.m:
--------------------------------------------------------------------------------
1 | //
2 | // FullScreenGestureScrollView.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/4/21.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "FullScreenGestureScrollView.h"
10 |
11 | //如果你自定义的类,还要支持categoryView嵌套pagingView,你自己把JXPagerListContainerScrollView类的里面的gestureRecognizerShouldBegin方法复制过来即可。
12 | @implementation FullScreenGestureScrollView
13 |
14 | //详情参考:https://github.com/forkingdog/FDFullscreenPopGesture#view-controller-with-scrollview
15 | - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
16 | if (self.contentOffset.x <= 0) {
17 | if ([otherGestureRecognizer.delegate isKindOfClass:NSClassFromString(@"_FDFullscreenPopGestureRecognizerDelegate")]) {
18 | return YES;
19 | }
20 | }
21 | return NO;
22 | }
23 |
24 |
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/FullScreenGesture/FullScreenGestureViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // FullScreenGestureViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/4/21.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface FullScreenGestureViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/HeaderPosition/HeaderPositionViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // HeaderPositionViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/3/13.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface HeaderPositionViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/HeaderPosition/HeaderPositionViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // HeaderPositionViewController.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/3/13.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "HeaderPositionViewController.h"
10 | #import "JXPagerListRefreshView.h"
11 |
12 | @interface HeaderPositionViewController ()
13 |
14 | @end
15 |
16 | @implementation HeaderPositionViewController
17 |
18 | - (void)viewDidLoad {
19 | [super viewDidLoad];
20 |
21 | self.pagerView.pinSectionHeaderVerticalOffset = 100;
22 | }
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/HeaderPositionChange/HeaderPositionChangeViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // HeaderPositionChangeViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/1/9.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface HeaderPositionChangeViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/HeaderPositionChange/HeaderPositionChangeViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // HeaderPositionChangeViewController.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/1/9.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "HeaderPositionChangeViewController.h"
10 |
11 | @interface HeaderPositionChangeViewController ()
12 |
13 | @end
14 |
15 | @implementation HeaderPositionChangeViewController
16 |
17 | - (void)viewDidLoad {
18 | [super viewDidLoad];
19 |
20 | self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"切换" style:UIBarButtonItemStylePlain target:self action:@selector(didNaviRightItemClick)];
21 | }
22 |
23 | - (void)didNaviRightItemClick {
24 | if (self.pagerView.pinSectionHeaderVerticalOffset == JXTableHeaderViewHeight) {
25 | self.pagerView.pinSectionHeaderVerticalOffset = 0;
26 | }else {
27 | self.pagerView.pinSectionHeaderVerticalOffset = JXTableHeaderViewHeight;
28 | }
29 | [self.pagerView reloadData];
30 | }
31 |
32 |
33 | @end
34 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/MainTableViewOffset/MainTableViewOffsetViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // MainTableViewOffsetViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/12/30.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MainTableViewOffsetViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/NavigationBarHidden/NaviBarHiddenViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // NaviBarHiddenViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/9/12.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | @interface NaviBarHiddenViewController : PagingViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Nest/PagingNestCategoryListViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // PagingNestCategoryListViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/12/30.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface PagingNestCategoryListViewController : UIViewController
14 | @property (nonatomic, strong) UIScrollView *contentScrollView;
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Nest/PagingNestCategoryViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // NestViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/10/26.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface PagingNestCategoryViewController : UIViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Nest/TestNestListBaseView.h:
--------------------------------------------------------------------------------
1 | //
2 | // TestNestListBaseView.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/10/26.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface TestNestListBaseView : UIView
13 |
14 | @property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView);
15 | @property (nonatomic, strong) UITableView *tableView;
16 | @property (nonatomic, strong) NSMutableArray *dataSource;
17 |
18 | @end
19 |
20 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Refresh/ListRefreshViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ListRefreshViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/9/12.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | @interface ListRefreshViewController : PagingViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Refresh/ListRefreshViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ListRefreshViewController.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/9/12.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "ListRefreshViewController.h"
10 | #import "JXPagerListRefreshView.h"
11 | #import "JXCategoryView.h"
12 |
13 | @interface ListRefreshViewController ()
14 |
15 | @end
16 |
17 | @implementation ListRefreshViewController
18 |
19 | - (void)viewDidLoad {
20 | [super viewDidLoad];
21 |
22 | self.isNeedHeader = YES;
23 | self.isNeedFooter = NO;
24 | }
25 |
26 | - (JXPagerView *)preferredPagingView {
27 | return [[JXPagerListRefreshView alloc] initWithDelegate:self];
28 | }
29 |
30 | #pragma mark - JXCategoryViewDelegate
31 |
32 | - (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
33 | self.navigationController.interactivePopGestureRecognizer.enabled = (index == 0);
34 | }
35 |
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Refresh/RefreshViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // RefreshViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/9/12.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | @interface RefreshViewController : PagingViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/ReloadWithoutInitList/ReloadWithoutInitListViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ReloadWithoutInitListViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/6/13.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "ListRefreshViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface ReloadWithoutInitListViewController : ListRefreshViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/ScrollToListCell/ScrollToListCellViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ScrollToListCellViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/6/21.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface ScrollToListCellViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/ScrollToTop/ScrollToTopViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ScrollToTopViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/6/21.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface ScrollToTopViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/ScrollToTop/ScrollToTopViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ScrollToTopViewController.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/6/21.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "ScrollToTopViewController.h"
10 |
11 | @interface ScrollToTopViewController ()
12 |
13 | @end
14 |
15 | @implementation ScrollToTopViewController
16 |
17 | - (void)viewDidLoad {
18 | [super viewDidLoad];
19 |
20 | self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"滚到顶部" style:UIBarButtonItemStylePlain target:self action:@selector(scrollToTargetItem)];
21 | }
22 |
23 | - (void)scrollToTargetItem {
24 | //必须让self.pagerView.currentScrollingListView滚动到顶部,才能触发main列表的滚动所以这里的animated必须是NO
25 | [self.pagerView.currentScrollingListView setContentOffset:CGPointZero animated:NO];
26 | //然后让self.pagerView.mainTableView滚动到顶部,这里的animated可以为YES
27 | [self.pagerView.mainTableView setContentOffset:CGPointZero animated:NO];
28 | }
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Smooth/JXPagerSmoothCollectionFlowLayout.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXPagerSmoothCollectionFlowLayout.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/12/31.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface JXPagerSmoothCollectionFlowLayout : UICollectionViewFlowLayout
14 | @property (nonatomic, assign) CGFloat pinCategoryHeight; //悬浮header的高度
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Smooth/JXPagerSmoothCollectionFlowLayout.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXPagerSmoothCollectionFlowLayout.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/12/31.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXPagerSmoothCollectionFlowLayout.h"
10 |
11 | @implementation JXPagerSmoothCollectionFlowLayout
12 |
13 | - (CGSize)collectionViewContentSize {
14 | CGFloat minContentSizeHeight = self.collectionView.bounds.size.height - self.pinCategoryHeight;
15 | CGSize size = [super collectionViewContentSize];
16 | if (size.height < minContentSizeHeight) {
17 | return CGSizeMake(size.width, minContentSizeHeight);
18 | }
19 | return size;
20 | }
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Smooth/SmoothCustomPagerHeaderViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SmoothCustomPagerHeaderViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/11/18.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "SmoothViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface SmoothCustomPagerHeaderViewController : SmoothViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Smooth/SmoothListCollectionViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SmoothListCollectionViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/11/18.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXPagerSmoothView.h"
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface SmoothListCollectionViewController : UIViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Smooth/SmoothListScrollViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SmoothListScrollViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/11/18.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXPagerSmoothView.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface SmoothListScrollViewController : UIViewController
15 |
16 | @end
17 |
18 | NS_ASSUME_NONNULL_END
19 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Smooth/SmoothListViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SmoothListViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/11/18.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXPagerSmoothView.h"
11 | #import "SmoothViewController.h"
12 |
13 | @protocol SmoothListViewControllerDelegate
14 |
15 | - (CGFloat)pagerHeaderContainerHeight;
16 | - (void)startHeaderRefresh;
17 | - (void)endHeaderRefresh;
18 |
19 | @end
20 |
21 | NS_ASSUME_NONNULL_BEGIN
22 |
23 | @interface SmoothListViewController : UIViewController
24 | -(instancetype)initWithType:(SmoothListType)type;
25 | @property (nonatomic, weak) id delegate;
26 | @property (nonatomic, assign) BOOL isNeedHeaderRefresh;
27 | @property (nonatomic, assign) BOOL isNeedFooterLoad;
28 | @end
29 |
30 | NS_ASSUME_NONNULL_END
31 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Smooth/SmoothTableView.h:
--------------------------------------------------------------------------------
1 | //
2 | // SmoothTableView.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by tony on 2021/11/20.
6 | // Copyright © 2021 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface SmoothTableView : UITableView
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Smooth/SmoothTableView.m:
--------------------------------------------------------------------------------
1 | //
2 | // SmoothTableView.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by tony on 2021/11/20.
6 | // Copyright © 2021 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "SmoothTableView.h"
10 |
11 | @implementation SmoothTableView
12 |
13 | - (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated {
14 | [self setContentOffset:CGPointMake(self.contentOffset.x, rect.origin.y) animated:animated];
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Smooth/SmoothViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SmoothViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/11/15.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXPagerSmoothView.h"
11 | #import "JXCategoryTitleView.h"
12 |
13 | typedef NS_ENUM(NSUInteger, SmoothListType) {
14 | SmoothListType_TableView,
15 | SmoothListType_CollectionView,
16 | SmoothListType_ScrollView,
17 | SmoothListType_InputHeader,
18 | };
19 |
20 | NS_ASSUME_NONNULL_BEGIN
21 |
22 | @interface SmoothViewController : UIViewController
23 |
24 | @property (nonatomic, strong) JXPagerSmoothView *pager;
25 | @property (nonatomic, strong) JXCategoryTitleView *categoryView;
26 | @property (nonatomic, assign) SmoothListType type;
27 |
28 | @end
29 |
30 | NS_ASSUME_NONNULL_END
31 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Smooth/SmoothViewDefines.h:
--------------------------------------------------------------------------------
1 | //
2 | // SmoothViewDefines.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/12/31.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #define SmoothViewPinCategoryHeight 50
12 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/TabBar/TabBarExampleViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // TabBarExampleViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/1/11.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface TabBarExampleViewController : UITabBarController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/TabBar/TabBarExampleViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // TabBarExampleViewController.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/1/11.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "TabBarExampleViewController.h"
10 | #import "PagingViewController.h"
11 |
12 | @interface TabBarExampleViewController ()
13 |
14 | @end
15 |
16 | @implementation TabBarExampleViewController
17 |
18 | - (void)viewDidLoad {
19 | [super viewDidLoad];
20 |
21 | NSMutableArray *list = [NSMutableArray array];
22 | for (int index = 1; index <= 3; index++) {
23 | PagingViewController *vc = [[PagingViewController alloc] init];
24 | vc.tabBarItem = [[UITabBarItem alloc] initWithTitle:[NSString stringWithFormat:@"第%d页", index] image:nil selectedImage:nil];
25 | [list addObject:vc];
26 | }
27 | self.viewControllers = list;
28 | }
29 |
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/XIBHeader/XIBHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // XIBHeader.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/4/21.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface XIBHeader : UIView
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/XIBHeader/XIBHeader.m:
--------------------------------------------------------------------------------
1 | //
2 | // XIBHeader.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/4/21.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "XIBHeader.h"
10 |
11 | @implementation XIBHeader
12 |
13 | /*
14 | // Only override drawRect: if you perform custom drawing.
15 | // An empty implementation adversely affects performance during animation.
16 | - (void)drawRect:(CGRect)rect {
17 | // Drawing code
18 | }
19 | */
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/XIBHeader/XIBHeaderViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // XIBHeaderViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/4/21.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "PagingViewController.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface XIBHeaderViewController : PagingViewController
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/XIBHeader/XIBHeaderViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // XIBHeaderViewController.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2020/4/21.
6 | // Copyright © 2020 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "XIBHeaderViewController.h"
10 | #import "XIBHeader.h"
11 |
12 | @interface XIBHeaderViewController ()
13 | @property (nonatomic, strong) XIBHeader *xibHeader;
14 | @end
15 |
16 | @implementation XIBHeaderViewController
17 |
18 | - (void)viewDidLoad {
19 | //因为继承的原因,要提前初始化
20 | self.xibHeader = (XIBHeader *)[[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([XIBHeader class]) owner:nil options:nil] lastObject];
21 |
22 | [super viewDidLoad];
23 |
24 |
25 | }
26 |
27 |
28 | - (UIView *)tableHeaderViewInPagerView:(JXPagerView *)pagerView {
29 | return self.xibHeader;
30 | }
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Zoom/ZoomViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ZoomViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/9/12.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "PagingViewController.h"
11 |
12 | @interface ZoomViewController : PagingViewController
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/Example/Zoom/ZoomViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ZoomViewController.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/9/12.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "ZoomViewController.h"
10 |
11 | @implementation ZoomViewController
12 |
13 | - (void)pagerView:(JXPagerView *)pagerView mainTableViewDidScroll:(UIScrollView *)scrollView {
14 | [self.userHeaderView scrollViewDidScroll:scrollView.contentOffset.y];
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/PrefixHeader.pch:
--------------------------------------------------------------------------------
1 | //
2 | // PrefixHeader.pch
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2019/11/22.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #ifndef PrefixHeader_pch
10 | #define PrefixHeader_pch
11 |
12 | // Include any system framework and library headers here that should be included in all compilation units.
13 | // You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
14 |
15 | #import
16 | #import
17 |
18 | #endif /* PrefixHeader_pch */
19 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/9/12.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UITableViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/JXPagerViewExample-OC/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // JXPagerViewExample-OC
4 | //
5 | // Created by jiaxin on 2018/9/12.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '11.0'
2 |
3 | target 'JXPagerViewExample-OC' do
4 | pod 'JXPagingView/Pager', :path => '../../../JXPagingView'
5 | pod 'JXCategoryView'
6 | pod 'MJRefresh', '3.4.0'
7 | pod 'FDFullscreenPopGesture', '1.1'
8 | end
9 |
10 | post_install do |installer|
11 | installer.pods_project.targets.each do |target|
12 | target.build_configurations.each do |config|
13 | config.build_settings["IPHONEOS_DEPLOYMENT_TARGET"] = "11.0"
14 | end
15 | end
16 | end
17 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - FDFullscreenPopGesture (1.1)
3 | - JXCategoryView (1.5.2)
4 | - JXPagingView/Pager (2.1.4)
5 | - MJRefresh (3.4.0)
6 |
7 | DEPENDENCIES:
8 | - FDFullscreenPopGesture (= 1.1)
9 | - JXCategoryView
10 | - JXPagingView/Pager (from `../../../JXPagingView`)
11 | - MJRefresh (= 3.4.0)
12 |
13 | SPEC REPOS:
14 | trunk:
15 | - FDFullscreenPopGesture
16 | - JXCategoryView
17 | - MJRefresh
18 |
19 | EXTERNAL SOURCES:
20 | JXPagingView:
21 | :path: "../../../JXPagingView"
22 |
23 | SPEC CHECKSUMS:
24 | FDFullscreenPopGesture: a8a620179e3d9c40e8e00256dcee1c1a27c6d0f0
25 | JXCategoryView: b284d35a7a8772eada05dd78642233e1eb763ea8
26 | JXPagingView: 28ab45ab0f9811153ef28266071877d42483ba8c
27 | MJRefresh: 95b08b3b8b6457d2c69510439e0349599050ea34
28 |
29 | PODFILE CHECKSUM: bb35b410cb7c8a13532e92ba5eb10ce93a1a130c
30 |
31 | COCOAPODS: 1.16.2
32 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.h:
--------------------------------------------------------------------------------
1 | ../../../FDFullscreenPopGesture/FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryBaseCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Base/JXCategoryBaseCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryBaseCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Base/JXCategoryBaseCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryBaseView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Base/JXCategoryBaseView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryCollectionView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryCollectionView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryDotCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Dot/JXCategoryDotCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryDotCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Dot/JXCategoryDotCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryDotView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Dot/JXCategoryDotView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryFactory.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryFactory.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryImageCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Image/JXCategoryImageCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryImageCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Image/JXCategoryImageCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryImageView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Image/JXCategoryImageView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorBackgroundView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorBackgroundView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorBallView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorBallView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/JXCategoryIndicatorCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/JXCategoryIndicatorCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorComponentView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorComponentView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorDotLineView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorDotLineView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorImageView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorImageView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorLineView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorLineView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorParamsModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryIndicatorParamsModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryIndicatorProtocol.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorRainbowLineView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorRainbowLineView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorTriangleView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorTriangleView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryIndicatorView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/JXCategoryIndicatorView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryListContainerView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryListContainerView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryNumberCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Number/JXCategoryNumberCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryNumberCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Number/JXCategoryNumberCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryNumberView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Number/JXCategoryNumberView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryTitleCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Title/JXCategoryTitleCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryTitleCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Title/JXCategoryTitleCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryTitleImageCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/TitleImage/JXCategoryTitleImageCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryTitleImageCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/TitleImage/JXCategoryTitleImageCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryTitleImageView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/TitleImage/JXCategoryTitleImageView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryTitleVerticalZoomCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryTitleVerticalZoomCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryTitleVerticalZoomView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryTitleView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Title/JXCategoryTitleView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/JXCategoryView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryViewAnimator.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryViewAnimator.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/JXCategoryViewDefines.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryViewDefines.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXCategoryView/UIColor+JXAdd.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/UIColor+JXAdd.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXPagingView/JXPagerListContainerView.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXPagerListContainerView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXPagingView/JXPagerListRefreshView.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXPagerListRefreshView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXPagingView/JXPagerMainTableView.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXPagerMainTableView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXPagingView/JXPagerSmoothView.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXPagerSmoothView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXPagingView/JXPagerView.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXPagerView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/JXPagingView/JXRTLFlowLayout.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXRTLFlowLayout.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefresh.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/MJRefresh.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshAutoFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshAutoGifFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshAutoNormalFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshAutoStateFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshBackFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Base/MJRefreshBackFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshBackGifFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshBackNormalFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshBackStateFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshComponent.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Base/MJRefreshComponent.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshConfig.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/MJRefreshConfig.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshConst.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/MJRefreshConst.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Base/MJRefreshFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshGifHeader.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Header/MJRefreshGifHeader.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshHeader.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Base/MJRefreshHeader.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshNormalHeader.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Header/MJRefreshNormalHeader.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/MJRefreshStateHeader.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Header/MJRefreshStateHeader.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/NSBundle+MJRefresh.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/NSBundle+MJRefresh.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/UIScrollView+MJExtension.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/UIScrollView+MJExtension.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/UIScrollView+MJRefresh.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/UIScrollView+MJRefresh.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Private/MJRefresh/UIView+MJExtension.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/UIView+MJExtension.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.h:
--------------------------------------------------------------------------------
1 | ../../../FDFullscreenPopGesture/FDFullscreenPopGesture/UINavigationController+FDFullscreenPopGesture.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryBaseCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Base/JXCategoryBaseCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryBaseCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Base/JXCategoryBaseCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryBaseView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Base/JXCategoryBaseView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryCollectionView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryCollectionView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryDotCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Dot/JXCategoryDotCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryDotCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Dot/JXCategoryDotCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryDotView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Dot/JXCategoryDotView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryFactory.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryFactory.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryImageCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Image/JXCategoryImageCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryImageCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Image/JXCategoryImageCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryImageView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Image/JXCategoryImageView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorBackgroundView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorBackgroundView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorBallView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorBallView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/JXCategoryIndicatorCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/JXCategoryIndicatorCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorComponentView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorComponentView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorDotLineView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorDotLineView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorImageView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorImageView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorLineView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorLineView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorParamsModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryIndicatorParamsModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryIndicatorProtocol.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorRainbowLineView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorRainbowLineView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorTriangleView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorTriangleView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryIndicatorView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Indicator/JXCategoryIndicatorView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryListContainerView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryListContainerView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryNumberCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Number/JXCategoryNumberCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryNumberCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Number/JXCategoryNumberCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryNumberView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Number/JXCategoryNumberView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryTitleCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Title/JXCategoryTitleCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryTitleCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Title/JXCategoryTitleCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryTitleImageCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/TitleImage/JXCategoryTitleImageCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryTitleImageCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/TitleImage/JXCategoryTitleImageCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryTitleImageView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/TitleImage/JXCategoryTitleImageView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryTitleVerticalZoomCell.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCell.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryTitleVerticalZoomCellModel.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCellModel.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryTitleVerticalZoomView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryTitleView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Title/JXCategoryTitleView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryView.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/JXCategoryView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryViewAnimator.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryViewAnimator.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/JXCategoryViewDefines.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/JXCategoryViewDefines.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXCategoryView/UIColor+JXAdd.h:
--------------------------------------------------------------------------------
1 | ../../../JXCategoryView/Sources/Common/UIColor+JXAdd.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXPagingView/JXPagerListContainerView.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXPagerListContainerView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXPagingView/JXPagerListRefreshView.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXPagerListRefreshView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXPagingView/JXPagerMainTableView.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXPagerMainTableView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXPagingView/JXPagerSmoothView.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXPagerSmoothView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXPagingView/JXPagerView.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXPagerView.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/JXPagingView/JXRTLFlowLayout.h:
--------------------------------------------------------------------------------
1 | ../../../../../../Sources/JXPagerView/JXRTLFlowLayout.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefresh.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/MJRefresh.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshAutoFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshAutoGifFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshAutoNormalFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshAutoStateFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshBackFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Base/MJRefreshBackFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshBackGifFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshBackNormalFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshBackStateFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshComponent.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Base/MJRefreshComponent.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshConfig.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/MJRefreshConfig.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshConst.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/MJRefreshConst.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshFooter.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Base/MJRefreshFooter.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshGifHeader.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Header/MJRefreshGifHeader.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshHeader.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Base/MJRefreshHeader.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshNormalHeader.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Header/MJRefreshNormalHeader.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/MJRefreshStateHeader.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/Custom/Header/MJRefreshStateHeader.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/NSBundle+MJRefresh.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/NSBundle+MJRefresh.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/UIScrollView+MJExtension.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/UIScrollView+MJExtension.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/UIScrollView+MJRefresh.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/UIScrollView+MJRefresh.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Headers/Public/MJRefresh/UIView+MJExtension.h:
--------------------------------------------------------------------------------
1 | ../../../MJRefresh/MJRefresh/UIView+MJExtension.h
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Base/JXCategoryBaseCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryBaseCell.h
3 | // UI系列测试
4 | //
5 | // Created by jiaxin on 2018/3/15.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXCategoryBaseCellModel.h"
11 | #import "JXCategoryViewAnimator.h"
12 | #import "JXCategoryViewDefines.h"
13 |
14 | @interface JXCategoryBaseCell : UICollectionViewCell
15 |
16 | @property (nonatomic, strong, readonly) JXCategoryBaseCellModel *cellModel;
17 | @property (nonatomic, strong, readonly) JXCategoryViewAnimator *animator;
18 |
19 | - (void)initializeViews NS_REQUIRES_SUPER;
20 |
21 | - (void)reloadData:(JXCategoryBaseCellModel *)cellModel NS_REQUIRES_SUPER;
22 |
23 | - (BOOL)checkCanStartSelectedAnimation:(JXCategoryBaseCellModel *)cellModel;
24 |
25 | - (void)addSelectedAnimationBlock:(JXCategoryCellSelectedAnimationBlock)block;
26 |
27 | - (void)startSelectedAnimationIfNeeded:(JXCategoryBaseCellModel *)cellModel;
28 | @end
29 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Base/JXCategoryBaseCellModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryBaseCellModel.m
3 | // UI系列测试
4 | //
5 | // Created by jiaxin on 2018/3/15.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryBaseCellModel.h"
10 |
11 | @implementation JXCategoryBaseCellModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Common/JXCategoryCollectionView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryCollectionView.h
3 | // UI系列测试
4 | //
5 | // Created by jiaxin on 2018/3/21.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXCategoryIndicatorProtocol.h"
11 | @class JXCategoryCollectionView;
12 |
13 | @protocol JXCategoryCollectionViewGestureDelegate
14 | @optional
15 | - (BOOL)categoryCollectionView:(JXCategoryCollectionView *)collectionView gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer;
16 | - (BOOL)categoryCollectionView:(JXCategoryCollectionView *)collectionView gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;
17 | @end
18 |
19 | @interface JXCategoryCollectionView : UICollectionView
20 |
21 | @property (nonatomic, strong) NSArray *> *indicators;
22 | @property (nonatomic, weak) id gestureDelegate;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Common/JXCategoryFactory.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryFactory.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/17.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface JXCategoryFactory : NSObject
13 |
14 | + (CGFloat)interpolationFrom:(CGFloat)from to:(CGFloat)to percent:(CGFloat)percent;
15 |
16 | + (UIColor *)interpolationColorFrom:(UIColor *)fromColor to:(UIColor *)toColor percent:(CGFloat)percent;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Common/JXCategoryFactory.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryFactory.m
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/17.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryFactory.h"
10 | #import "UIColor+JXAdd.h"
11 |
12 | @implementation JXCategoryFactory
13 |
14 | + (CGFloat)interpolationFrom:(CGFloat)from to:(CGFloat)to percent:(CGFloat)percent
15 | {
16 | percent = MAX(0, MIN(1, percent));
17 | return from + (to - from)*percent;
18 | }
19 |
20 | + (UIColor *)interpolationColorFrom:(UIColor *)fromColor to:(UIColor *)toColor percent:(CGFloat)percent
21 | {
22 | CGFloat red = [self interpolationFrom:fromColor.jx_red to:toColor.jx_red percent:percent];
23 | CGFloat green = [self interpolationFrom:fromColor.jx_green to:toColor.jx_green percent:percent];
24 | CGFloat blue = [self interpolationFrom:fromColor.jx_blue to:toColor.jx_blue percent:percent];
25 | CGFloat alpha = [self interpolationFrom:fromColor.jx_alpha to:toColor.jx_alpha percent:percent];
26 | return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
27 | }
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Common/JXCategoryIndicatorParamsModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryIndicatorParamsModel.m
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/12/13.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorParamsModel.h"
10 |
11 | @implementation JXCategoryIndicatorParamsModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Common/JXCategoryViewAnimator.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryViewAnimator.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2019/1/24.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 |
13 | @interface JXCategoryViewAnimator : NSObject
14 | @property (nonatomic, assign) NSTimeInterval duration;
15 | @property (nonatomic, copy) void(^progressCallback)(CGFloat percent);
16 | @property (nonatomic, copy) void(^completeCallback)(void);
17 | @property (readonly, getter=isExecuting) BOOL executing;
18 |
19 | - (void)start;
20 | - (void)stop;
21 | - (void)invalid;
22 | @end
23 |
24 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Common/UIColor+JXAdd.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIColor+JXAdd.h
3 | // UI系列测试
4 | //
5 | // Created by jiaxin on 2018/3/21.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface UIColor (JXAdd)
12 |
13 | @property (nonatomic, assign, readonly) CGFloat jx_red;
14 | @property (nonatomic, assign, readonly) CGFloat jx_green;
15 | @property (nonatomic, assign, readonly) CGFloat jx_blue;
16 | @property (nonatomic, assign, readonly) CGFloat jx_alpha;
17 |
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Common/UIColor+JXAdd.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIColor+JXAdd.m
3 | // UI系列测试
4 | //
5 | // Created by jiaxin on 2018/3/21.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "UIColor+JXAdd.h"
10 |
11 | @implementation UIColor (JXAdd)
12 |
13 | - (CGFloat)jx_red {
14 | CGFloat r = 0, g, b, a;
15 | [self getRed:&r green:&g blue:&b alpha:&a];
16 | return r;
17 | }
18 |
19 | - (CGFloat)jx_green {
20 | CGFloat r, g = 0, b, a;
21 | [self getRed:&r green:&g blue:&b alpha:&a];
22 | return g;
23 | }
24 |
25 | - (CGFloat)jx_blue {
26 | CGFloat r, g, b = 0, a;
27 | [self getRed:&r green:&g blue:&b alpha:&a];
28 | return b;
29 | }
30 |
31 | - (CGFloat)jx_alpha {
32 | return CGColorGetAlpha(self.CGColor);
33 | }
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Dot/JXCategoryDotCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryDotCell.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/20.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleCell.h"
10 |
11 | @interface JXCategoryDotCell : JXCategoryTitleCell
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Dot/JXCategoryDotCellModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryDotCellModel.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/20.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleCellModel.h"
10 |
11 | typedef NS_ENUM(NSUInteger, JXCategoryDotRelativePosition) {
12 | JXCategoryDotRelativePosition_TopLeft = 0,
13 | JXCategoryDotRelativePosition_TopRight,
14 | JXCategoryDotRelativePosition_BottomLeft,
15 | JXCategoryDotRelativePosition_BottomRight,
16 | };
17 |
18 | @interface JXCategoryDotCellModel : JXCategoryTitleCellModel
19 |
20 | @property (nonatomic, assign) BOOL dotHidden;
21 | @property (nonatomic, assign) JXCategoryDotRelativePosition relativePosition;
22 | @property (nonatomic, assign) CGSize dotSize;
23 | @property (nonatomic, assign) CGFloat dotCornerRadius;
24 | @property (nonatomic, strong) UIColor *dotColor;
25 | @property (nonatomic, assign) CGPoint dotOffset;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Dot/JXCategoryDotCellModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryDotCellModel.m
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/20.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryDotCellModel.h"
10 |
11 | @implementation JXCategoryDotCellModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Dot/JXCategoryDotView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryDotView.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/20.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleView.h"
10 | #import "JXCategoryDotCell.h"
11 | #import "JXCategoryDotCellModel.h"
12 |
13 | @interface JXCategoryDotView : JXCategoryTitleView
14 |
15 | //相对于titleLabel的位置,默认:JXCategoryDotRelativePosition_TopRight
16 | @property (nonatomic, assign) JXCategoryDotRelativePosition relativePosition;
17 | //@[@(布尔值)]数组,控制红点是否显示
18 | @property (nonatomic, strong) NSArray *dotStates;
19 | //红点的尺寸。默认:CGSizeMake(10, 10)
20 | @property (nonatomic, assign) CGSize dotSize;
21 | //红点的圆角值。默认:JXCategoryViewAutomaticDimension(self.dotSize.height/2)
22 | @property (nonatomic, assign) CGFloat dotCornerRadius;
23 | //红点的颜色。默认:[UIColor redColor]
24 | @property (nonatomic, strong) UIColor *dotColor;
25 | /**
26 | 红点 x,y方向的偏移 (+值:水平方向向右,竖直方向向下)
27 | */
28 | @property (nonatomic, assign) CGPoint dotOffset;
29 | @end
30 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Image/JXCategoryImageCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryImageCell.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/20.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorCell.h"
10 |
11 | @interface JXCategoryImageCell : JXCategoryIndicatorCell
12 |
13 | @property (nonatomic, strong) UIImageView *imageView;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Image/JXCategoryImageCellModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryImageCellModel.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/20.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorCellModel.h"
10 |
11 | @interface JXCategoryImageCellModel : JXCategoryIndicatorCellModel
12 |
13 | @property (nonatomic, copy) void(^loadImageCallback)(UIImageView *imageView, NSURL *imageURL);
14 |
15 | @property (nonatomic, copy) NSString *imageName; //加载bundle内的图片
16 |
17 | @property (nonatomic, strong) NSURL *imageURL; //图片URL
18 |
19 | @property (nonatomic, copy) NSString *selectedImageName;
20 |
21 | @property (nonatomic, strong) NSURL *selectedImageURL;
22 |
23 | @property (nonatomic, assign) CGSize imageSize;
24 |
25 | @property (nonatomic, assign) CGFloat imageCornerRadius;
26 |
27 | @property (nonatomic, assign, getter=isImageZoomEnabled) BOOL imageZoomEnabled;
28 |
29 | @property (nonatomic, assign) CGFloat imageZoomScale;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Image/JXCategoryImageCellModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryImageCellModel.m
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/20.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryImageCellModel.h"
10 |
11 | @implementation JXCategoryImageCellModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorBackgroundView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryIndicatorBackgroundView.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/17.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorComponentView.h"
10 |
11 | @interface JXCategoryIndicatorBackgroundView : JXCategoryIndicatorComponentView
12 |
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorBallView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryIndicatorBallView.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/21.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorComponentView.h"
10 |
11 | @interface JXCategoryIndicatorBallView : JXCategoryIndicatorComponentView
12 |
13 | //球的X轴偏移量。默认:20
14 | @property (nonatomic, assign) CGFloat ballScrollOffsetX;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorDotLineView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryIndicatorDotLineView.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/22.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorComponentView.h"
10 |
11 | @interface JXCategoryIndicatorDotLineView : JXCategoryIndicatorComponentView
12 |
13 | //线状态的最大宽度。默认:50
14 | @property (nonatomic, assign) CGFloat lineWidth;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorImageView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryIndicatorImageView.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/17.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorComponentView.h"
10 |
11 | @interface JXCategoryIndicatorImageView : JXCategoryIndicatorComponentView
12 | //显示指示器图片的UIImageView
13 | @property (nonatomic, strong, readonly) UIImageView *indicatorImageView;
14 | //图片是否开启滚动。默认NO
15 | @property (nonatomic, assign) BOOL indicatorImageViewRollEnabled;
16 | //图片的尺寸。默认:CGSizeMake(30, 20)
17 | @property (nonatomic, assign) CGSize indicatorImageViewSize;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorLineView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryIndicatorLineView.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/17.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorComponentView.h"
10 |
11 | typedef NS_ENUM(NSUInteger, JXCategoryIndicatorLineStyle) {
12 | JXCategoryIndicatorLineStyle_Normal = 0,
13 | JXCategoryIndicatorLineStyle_Lengthen = 1,
14 | JXCategoryIndicatorLineStyle_LengthenOffset = 2,
15 | };
16 |
17 | @interface JXCategoryIndicatorLineView : JXCategoryIndicatorComponentView
18 |
19 | @property (nonatomic, assign) JXCategoryIndicatorLineStyle lineStyle;
20 |
21 | /**
22 | line滚动时x的偏移量,默认为10;
23 | lineStyle为JXCategoryIndicatorLineStyle_LengthenOffset有用;
24 | */
25 | @property (nonatomic, assign) CGFloat lineScrollOffsetX;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorRainbowLineView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryIndicatorRainbowLineView.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/12/13.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorLineView.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | 会无视JXCategoryIndicatorLineView的indicatorColor属性,以indicatorColors为准
15 | */
16 | @interface JXCategoryIndicatorRainbowLineView : JXCategoryIndicatorLineView
17 |
18 | //数量需要与cell的数量相等。没有提供默认值,必须要赋值该属性。categoryView在reloadData的时候,也要一并更新该属性,不然会出现数组越界。
19 | @property (nonatomic, strong) NSArray *indicatorColors;
20 |
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Indicator/IndicatorViews/JXCategoryIndicatorTriangleView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryIndicatorTriangleView.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/17.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorComponentView.h"
10 |
11 | @interface JXCategoryIndicatorTriangleView : JXCategoryIndicatorComponentView
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Indicator/JXCategoryIndicatorCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryComponetCell.h
3 | // DQGuess
4 | //
5 | // Created by jiaxin on 2018/7/25.
6 | // Copyright © 2018年 jingbo. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryBaseCell.h"
10 |
11 | @interface JXCategoryIndicatorCell : JXCategoryBaseCell
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Indicator/JXCategoryIndicatorCellModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryComponentCellModel.h
3 | // DQGuess
4 | //
5 | // Created by jiaxin on 2018/7/25.
6 | // Copyright © 2018年 jingbo. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXCategoryBaseCellModel.h"
11 |
12 | @interface JXCategoryIndicatorCellModel : JXCategoryBaseCellModel
13 |
14 | @property (nonatomic, assign, getter=isSepratorLineShowEnabled) BOOL sepratorLineShowEnabled;
15 |
16 | @property (nonatomic, strong) UIColor *separatorLineColor;
17 |
18 | @property (nonatomic, assign) CGSize separatorLineSize;
19 |
20 | @property (nonatomic, assign) CGRect backgroundViewMaskFrame; //底部指示器的frame转换到cell的frame
21 |
22 | @property (nonatomic, assign, getter=isCellBackgroundColorGradientEnabled) BOOL cellBackgroundColorGradientEnabled;
23 |
24 | @property (nonatomic, strong) UIColor *cellBackgroundUnselectedColor;
25 |
26 | @property (nonatomic, strong) UIColor *cellBackgroundSelectedColor;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Indicator/JXCategoryIndicatorCellModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryComponentCellModel.m
3 | // DQGuess
4 | //
5 | // Created by jiaxin on 2018/7/25.
6 | // Copyright © 2018年 jingbo. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryIndicatorCellModel.h"
10 |
11 | @implementation JXCategoryIndicatorCellModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/JXCategoryView.h:
--------------------------------------------------------------------------------
1 |
2 |
3 | #import "JXCategoryBaseView.h"
4 | #import "JXCategoryIndicatorView.h"
5 | #import "JXCategoryTitleView.h"
6 | #import "JXCategoryImageView.h"
7 | #import "JXCategoryTitleImageView.h"
8 | #import "JXCategoryNumberView.h"
9 | #import "JXCategoryDotView.h"
10 |
11 | #import "JXCategoryFactory.h"
12 | #import "JXCategoryIndicatorProtocol.h"
13 | #import "JXCategoryViewDefines.h"
14 | #import "JXCategoryListContainerView.h"
15 |
16 | #import "JXCategoryIndicatorComponentView.h"
17 | #import "JXCategoryIndicatorLineView.h"
18 | #import "JXCategoryIndicatorTriangleView.h"
19 | #import "JXCategoryIndicatorImageView.h"
20 | #import "JXCategoryIndicatorBackgroundView.h"
21 | #import "JXCategoryIndicatorBallView.h"
22 | #import "JXCategoryIndicatorRainbowLineView.h"
23 |
24 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Number/JXCategoryNumberCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryNumberCell.h
3 | // DQGuess
4 | //
5 | // Created by jiaxin on 2018/4/9.
6 | // Copyright © 2018年 jingbo. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleCell.h"
10 |
11 | @interface JXCategoryNumberCell : JXCategoryTitleCell
12 | @property (nonatomic, strong) UILabel *numberLabel;
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Number/JXCategoryNumberCellModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryNumberCellModel.h
3 | // DQGuess
4 | //
5 | // Created by jiaxin on 2018/4/24.
6 | // Copyright © 2018年 jingbo. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleCellModel.h"
10 |
11 | @interface JXCategoryNumberCellModel : JXCategoryTitleCellModel
12 |
13 | @property (nonatomic, assign) NSInteger count;
14 | @property (nonatomic, copy) NSString *numberString;
15 | @property (nonatomic, copy) void(^numberStringFormatterBlock)(NSInteger number);
16 | @property (nonatomic, strong) UIColor *numberBackgroundColor;
17 | @property (nonatomic, strong) UIColor *numberTitleColor;
18 | @property (nonatomic, assign) CGFloat numberLabelWidthIncrement;
19 | @property (nonatomic, assign) CGFloat numberLabelHeight;
20 | @property (nonatomic, strong) UIFont *numberLabelFont;
21 | @property (nonatomic, assign) CGPoint numberLabelOffset;
22 | @end
23 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Number/JXCategoryNumberCellModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryNumberCellModel.m
3 | // DQGuess
4 | //
5 | // Created by jiaxin on 2018/4/24.
6 | // Copyright © 2018年 jingbo. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryNumberCellModel.h"
10 |
11 | @implementation JXCategoryNumberCellModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/Title/JXCategoryTitleCellModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryTitleCellModel.m
3 | // UI系列测试
4 | //
5 | // Created by jiaxin on 2018/3/15.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleCellModel.h"
10 |
11 | @implementation JXCategoryTitleCellModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/TitleImage/JXCategoryTitleImageCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryImageCell.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/8.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleCell.h"
10 |
11 | @interface JXCategoryTitleImageCell : JXCategoryTitleCell
12 |
13 | @property (nonatomic, strong) UIImageView *imageView;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/TitleImage/JXCategoryTitleImageCellModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryTitleImageCellModel.m
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2018/8/8.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleImageCellModel.h"
10 |
11 | @implementation JXCategoryTitleImageCellModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryTitleVerticalZoomCell.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2019/2/14.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleCell.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface JXCategoryTitleVerticalZoomCell : JXCategoryTitleCell
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCellModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryTitleVerticalZoomCellModel.h
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2019/2/14.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleCellModel.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface JXCategoryTitleVerticalZoomCellModel : JXCategoryTitleCellModel
14 |
15 | @property (nonatomic, assign) CGFloat maxVerticalFontScale;
16 |
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/JXCategoryView/Sources/VerticalZoomTitle/JXCategoryTitleVerticalZoomCellModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXCategoryTitleVerticalZoomCellModel.m
3 | // JXCategoryView
4 | //
5 | // Created by jiaxin on 2019/2/14.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXCategoryTitleVerticalZoomCellModel.h"
10 |
11 | @implementation JXCategoryTitleVerticalZoomCellModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshAutoFooter : MJRefreshFooter
14 | /** 是否自动刷新(默认为YES) */
15 | @property (assign, nonatomic, getter=isAutomaticallyRefresh) BOOL automaticallyRefresh;
16 |
17 | /** 当底部控件出现多少时就自动刷新(默认为1.0,也就是底部控件完全出现时,才会自动刷新) */
18 | @property (assign, nonatomic) CGFloat appearencePercentTriggerAutoRefresh MJRefreshDeprecated("请使用triggerAutomaticallyRefreshPercent属性");
19 |
20 | /** 当底部控件出现多少时就自动刷新(默认为1.0,也就是底部控件完全出现时,才会自动刷新) */
21 | @property (assign, nonatomic) CGFloat triggerAutomaticallyRefreshPercent;
22 |
23 | /** 自动触发次数, 默认为 1, 仅在拖拽 ScrollView 时才生效,
24 |
25 | 如果为 -1, 则为无限触发
26 | */
27 | @property (nonatomic) NSInteger autoTriggerTimes;
28 | @end
29 |
30 | NS_ASSUME_NONNULL_END
31 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshBackFooter : MJRefreshFooter
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshAutoGifFooter : MJRefreshAutoStateFooter
14 | @property (weak, nonatomic, readonly) UIImageView *gifView;
15 |
16 | /** 设置state状态下的动画图片images 动画持续时间duration*/
17 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
18 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshAutoNormalFooter : MJRefreshAutoStateFooter
14 | @property (weak, nonatomic, readonly) UIActivityIndicatorView *loadingView;
15 |
16 | /** 菊花的样式 */
17 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle MJRefreshDeprecated("first deprecated in 3.2.2 - Use `loadingView` property");
18 | @end
19 |
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshAutoStateFooter : MJRefreshAutoFooter
14 | /** 文字距离圈圈、箭头的距离 */
15 | @property (assign, nonatomic) CGFloat labelLeftInset;
16 | /** 显示刷新状态的label */
17 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
18 |
19 | /** 设置state状态下的文字 */
20 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
21 |
22 | /** 隐藏刷新状态的文字 */
23 | @property (assign, nonatomic, getter=isRefreshingTitleHidden) BOOL refreshingTitleHidden;
24 | @end
25 |
26 | NS_ASSUME_NONNULL_END
27 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshBackGifFooter : MJRefreshBackStateFooter
14 | @property (weak, nonatomic, readonly) UIImageView *gifView;
15 |
16 | /** 设置state状态下的动画图片images 动画持续时间duration*/
17 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
18 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshBackNormalFooter : MJRefreshBackStateFooter
14 | @property (weak, nonatomic, readonly) UIImageView *arrowView;
15 | @property (weak, nonatomic, readonly) UIActivityIndicatorView *loadingView;
16 |
17 | /** 菊花的样式 */
18 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle MJRefreshDeprecated("first deprecated in 3.2.2 - Use `loadingView` property");
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshBackStateFooter : MJRefreshBackFooter
14 | /** 文字距离圈圈、箭头的距离 */
15 | @property (assign, nonatomic) CGFloat labelLeftInset;
16 | /** 显示刷新状态的label */
17 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
18 | /** 设置state状态下的文字 */
19 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
20 |
21 | /** 获取state状态下的title */
22 | - (NSString *)titleForState:(MJRefreshState)state;
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshGifHeader : MJRefreshStateHeader
14 | @property (weak, nonatomic, readonly) UIImageView *gifView;
15 |
16 | /** 设置state状态下的动画图片images 动画持续时间duration*/
17 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
18 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshNormalHeader : MJRefreshStateHeader
14 | @property (weak, nonatomic, readonly) UIImageView *arrowView;
15 | @property (weak, nonatomic, readonly) UIActivityIndicatorView *loadingView;
16 |
17 |
18 | /** 菊花的样式 */
19 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle MJRefreshDeprecated("first deprecated in 3.2.2 - Use `loadingView` property");
20 | @end
21 |
22 | NS_ASSUME_NONNULL_END
23 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshStateHeader : MJRefreshHeader
14 | #pragma mark - 刷新时间相关
15 | /** 利用这个block来决定显示的更新时间文字 */
16 | @property (copy, nonatomic, nullable) NSString *(^lastUpdatedTimeText)(NSDate * _Nullable lastUpdatedTime);
17 | /** 显示上一次刷新时间的label */
18 | @property (weak, nonatomic, readonly) UILabel *lastUpdatedTimeLabel;
19 |
20 | #pragma mark - 状态相关
21 | /** 文字距离圈圈、箭头的距离 */
22 | @property (assign, nonatomic) CGFloat labelLeftInset;
23 | /** 显示刷新状态的label */
24 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
25 | /** 设置state状态下的文字 */
26 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
27 | @end
28 |
29 | NS_ASSUME_NONNULL_END
30 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/arrow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/arrow@2x.png
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/en.lproj/Localizable.strings
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/ko.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | "MJRefreshHeaderIdleText" = "아래로 당겨 새로고침";
2 | "MJRefreshHeaderPullingText" = "놓으면 새로고침";
3 | "MJRefreshHeaderRefreshingText" = "로딩중...";
4 |
5 | "MJRefreshAutoFooterIdleText" = "탭 또는 위로 당겨 로드함";
6 | "MJRefreshAutoFooterRefreshingText" = "로딩중...";
7 | "MJRefreshAutoFooterNoMoreDataText" = "더이상 데이터 없음";
8 |
9 | "MJRefreshBackFooterIdleText" = "위로 당겨 더 로드 가능";
10 | "MJRefreshBackFooterPullingText" = "놓으면 더 로드됨.";
11 | "MJRefreshBackFooterRefreshingText" = "로딩중...";
12 | "MJRefreshBackFooterNoMoreDataText" = "더이상 데이터 없음";
13 |
14 | "MJRefreshHeaderLastTimeText" = "마지막 업데이트: ";
15 | "MJRefreshHeaderDateTodayText" = "오늘";
16 | "MJRefreshHeaderNoneLastDateText" = "기록 없음";
17 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/ru.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/ru.lproj/Localizable.strings
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/uk.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/uk.lproj/Localizable.strings
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hans.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hans.lproj/Localizable.strings
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hant.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | "MJRefreshHeaderIdleText" = "下拉可以刷新";
2 | "MJRefreshHeaderPullingText" = "鬆開立即刷新";
3 | "MJRefreshHeaderRefreshingText" = "正在刷新數據中...";
4 |
5 | "MJRefreshAutoFooterIdleText" = "點擊或上拉加載更多";
6 | "MJRefreshAutoFooterRefreshingText" = "正在加載更多的數據...";
7 | "MJRefreshAutoFooterNoMoreDataText" = "已經全部加載完畢";
8 |
9 | "MJRefreshBackFooterIdleText" = "上拉可以加載更多";
10 | "MJRefreshBackFooterPullingText" = "鬆開立即加載更多";
11 | "MJRefreshBackFooterRefreshingText" = "正在加載更多的數據...";
12 | "MJRefreshBackFooterNoMoreDataText" = "已經全部加載完畢";
13 |
14 | "MJRefreshHeaderLastTimeText" = "最後更新:";
15 | "MJRefreshHeaderDateTodayText" = "今天";
16 | "MJRefreshHeaderNoneLastDateText" = "無記錄";
17 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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"
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefreshConfig.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshConfig.h
3 | //
4 | // Created by Frank on 2018/11/27.
5 | // Copyright © 2018 小码哥. All rights reserved.
6 | //
7 |
8 | #import
9 |
10 | NS_ASSUME_NONNULL_BEGIN
11 |
12 | @interface MJRefreshConfig : NSObject
13 |
14 | /** 默认使用的语言版本, 默认为 nil. 将随系统的语言自动改变 */
15 | @property (copy, nonatomic, nullable) NSString *languageCode;
16 |
17 | /** @return Singleton Config instance */
18 | + (instancetype)defaultConfig;
19 |
20 | - (instancetype)init NS_UNAVAILABLE;
21 | + (instancetype)new NS_UNAVAILABLE;
22 |
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/MJRefreshConfig.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshConfig.m
3 | //
4 | // Created by Frank on 2018/11/27.
5 | // Copyright © 2018 小码哥. All rights reserved.
6 | //
7 |
8 | #import "MJRefreshConfig.h"
9 |
10 | @implementation MJRefreshConfig
11 |
12 | static MJRefreshConfig *mj_RefreshConfig = nil;
13 |
14 | + (instancetype)defaultConfig {
15 | static dispatch_once_t onceToken;
16 | dispatch_once(&onceToken, ^{
17 | mj_RefreshConfig = [[self alloc] init];
18 | });
19 | return mj_RefreshConfig;
20 | }
21 |
22 |
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/MJRefresh/NSBundle+MJRefresh.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSBundle+MJRefresh.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 16/6/13.
6 | // Copyright © 2016年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface NSBundle (MJRefresh)
14 | + (instancetype)mj_refreshBundle;
15 | + (UIImage *)mj_arrowImage;
16 | + (NSString *)mj_localizedStringForKey:(NSString *)key value:(nullable NSString *)value;
17 | + (NSString *)mj_localizedStringForKey:(NSString *)key;
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface UIScrollView (MJExtension)
15 | @property (readonly, nonatomic) UIEdgeInsets mj_inset;
16 |
17 | @property (assign, nonatomic) CGFloat mj_insetT;
18 | @property (assign, nonatomic) CGFloat mj_insetB;
19 | @property (assign, nonatomic) CGFloat mj_insetL;
20 | @property (assign, nonatomic) CGFloat mj_insetR;
21 |
22 | @property (assign, nonatomic) CGFloat mj_offsetX;
23 | @property (assign, nonatomic) CGFloat mj_offsetY;
24 |
25 | @property (assign, nonatomic) CGFloat mj_contentW;
26 | @property (assign, nonatomic) CGFloat mj_contentH;
27 | @end
28 |
29 | NS_ASSUME_NONNULL_END
30 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | #import "MJRefreshConst.h"
12 |
13 | @class MJRefreshHeader, MJRefreshFooter;
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface UIScrollView (MJRefresh)
18 | /** 下拉刷新控件 */
19 | @property (strong, nonatomic, nullable) MJRefreshHeader *mj_header;
20 | @property (strong, nonatomic, nullable) MJRefreshHeader *header MJRefreshDeprecated("使用mj_header");
21 | /** 上拉刷新控件 */
22 | @property (strong, nonatomic, nullable) MJRefreshFooter *mj_footer;
23 | @property (strong, nonatomic, nullable) MJRefreshFooter *footer MJRefreshDeprecated("使用mj_footer");
24 |
25 | #pragma mark - other
26 | - (NSInteger)mj_totalDataCount;
27 |
28 | @end
29 |
30 | NS_ASSUME_NONNULL_END
31 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface UIView (MJExtension)
15 | @property (assign, nonatomic) CGFloat mj_x;
16 | @property (assign, nonatomic) CGFloat mj_y;
17 | @property (assign, nonatomic) CGFloat mj_w;
18 | @property (assign, nonatomic) CGFloat mj_h;
19 | @property (assign, nonatomic) CGSize mj_size;
20 | @property (assign, nonatomic) CGPoint mj_origin;
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - FDFullscreenPopGesture (1.1)
3 | - JXCategoryView (1.5.2)
4 | - JXPagingView/Pager (2.1.4)
5 | - MJRefresh (3.4.0)
6 |
7 | DEPENDENCIES:
8 | - FDFullscreenPopGesture (= 1.1)
9 | - JXCategoryView
10 | - JXPagingView/Pager (from `../../../JXPagingView`)
11 | - MJRefresh (= 3.4.0)
12 |
13 | SPEC REPOS:
14 | trunk:
15 | - FDFullscreenPopGesture
16 | - JXCategoryView
17 | - MJRefresh
18 |
19 | EXTERNAL SOURCES:
20 | JXPagingView:
21 | :path: "../../../JXPagingView"
22 |
23 | SPEC CHECKSUMS:
24 | FDFullscreenPopGesture: a8a620179e3d9c40e8e00256dcee1c1a27c6d0f0
25 | JXCategoryView: b284d35a7a8772eada05dd78642233e1eb763ea8
26 | JXPagingView: 28ab45ab0f9811153ef28266071877d42483ba8c
27 | MJRefresh: 95b08b3b8b6457d2c69510439e0349599050ea34
28 |
29 | PODFILE CHECKSUM: bb35b410cb7c8a13532e92ba5eb10ce93a1a130c
30 |
31 | COCOAPODS: 1.16.2
32 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/FDFullscreenPopGesture/FDFullscreenPopGesture-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_FDFullscreenPopGesture : NSObject
3 | @end
4 | @implementation PodsDummy_FDFullscreenPopGesture
5 | @end
6 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/FDFullscreenPopGesture/FDFullscreenPopGesture-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/FDFullscreenPopGesture/FDFullscreenPopGesture.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FDFullscreenPopGesture
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FDFullscreenPopGesture" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/FDFullscreenPopGesture
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/FDFullscreenPopGesture/FDFullscreenPopGesture.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FDFullscreenPopGesture
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FDFullscreenPopGesture" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/FDFullscreenPopGesture
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/FDFullscreenPopGesture/FDFullscreenPopGesture.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FDFullscreenPopGesture
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FDFullscreenPopGesture" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FDFullscreenPopGesture"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/FDFullscreenPopGesture
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXCategoryView/JXCategoryView-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_JXCategoryView : NSObject
3 | @end
4 | @implementation PodsDummy_JXCategoryView
5 | @end
6 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXCategoryView/JXCategoryView-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXCategoryView/JXCategoryView.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JXCategoryView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JXCategoryView"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/JXCategoryView
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXCategoryView/JXCategoryView.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JXCategoryView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JXCategoryView"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/JXCategoryView
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXCategoryView/JXCategoryView.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JXCategoryView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JXCategoryView"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/JXCategoryView
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXPagingView/JXPagingView-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_JXPagingView : NSObject
3 | @end
4 | @implementation PodsDummy_JXPagingView
5 | @end
6 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXPagingView/JXPagingView-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXPagingView/JXPagingView.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JXPagingView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JXPagingView"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../..
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXPagingView/JXPagingView.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JXPagingView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JXPagingView"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../..
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXPagingView/JXPagingView.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JXPagingView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JXPagingView"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../..
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/JXPagingView/ResourceBundle-JXPagerView-JXPagingView-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 2.1.4
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/MJRefresh/MJRefresh-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MJRefresh : NSObject
3 | @end
4 | @implementation PodsDummy_MJRefresh
5 | @end
6 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/MJRefresh/MJRefresh-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/MJRefresh/MJRefresh.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/MJRefresh" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/MJRefresh"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJRefresh
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/MJRefresh/MJRefresh.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/MJRefresh" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/MJRefresh"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJRefresh
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/MJRefresh/MJRefresh.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/MJRefresh" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/MJRefresh"
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJRefresh
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/Pods-JXPagerViewExample-OC/Pods-JXPagerViewExample-OC-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_JXPagerViewExample_OC : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_JXPagerViewExample_OC
5 | @end
6 |
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/Pods-JXPagerViewExample-OC/Pods-JXPagerViewExample-OC-resources-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-JXPagerViewExample-OC/Pods-JXPagerViewExample-OC-resources.sh
2 | ${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView/JXPagerView.bundle
3 | ${PODS_ROOT}/MJRefresh/MJRefresh/MJRefresh.bundle
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/Pods-JXPagerViewExample-OC/Pods-JXPagerViewExample-OC-resources-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/JXPagerView.bundle
2 | ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MJRefresh.bundle
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/Pods-JXPagerViewExample-OC/Pods-JXPagerViewExample-OC-resources-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-JXPagerViewExample-OC/Pods-JXPagerViewExample-OC-resources.sh
2 | ${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView/JXPagerView.bundle
3 | ${PODS_ROOT}/MJRefresh/MJRefresh/MJRefresh.bundle
--------------------------------------------------------------------------------
/Examples/JXPagerViewExample-OC/Pods/Target Support Files/Pods-JXPagerViewExample-OC/Pods-JXPagerViewExample-OC-resources-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/JXPagerView.bundle
2 | ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MJRefresh.bundle
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // JXPagingViewExample
4 | //
5 | // Created by jiaxin on 2019/11/22.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
17 | // Override point for customization after application launch.
18 | return true
19 | }
20 |
21 |
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample/Example/Common/DetailViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DetailViewController.swift
3 | // JXPagingView
4 | //
5 | // Created by jiaxin on 2019/4/29.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class DetailViewController: UIViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 |
16 | // Do any additional setup after loading the view.
17 | self.view.backgroundColor = .white
18 | self.title = "详情页"
19 | }
20 |
21 |
22 | /*
23 | // MARK: - Navigation
24 |
25 | // In a storyboard-based application, you will often want to do a little preparation before navigation
26 | override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
27 | // Get the new view controller using segue.destination.
28 | // Pass the selected object to the new view controller.
29 | }
30 | */
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample/Example/Common/UIWindow+JXSafeArea.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIWindow+JXSafeArea.swift
3 | // JXPagingView
4 | //
5 | // Created by jiaxin on 2018/9/29.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | extension UIWindow {
13 | func jx_layoutInsets() -> UIEdgeInsets {
14 | if #available(iOS 11.0, *) {
15 | let safeAreaInsets: UIEdgeInsets = self.safeAreaInsets
16 | if safeAreaInsets.bottom > 0 {
17 | //参考文章:https://mp.weixin.qq.com/s/Ik2zBox3_w0jwfVuQUJAUw
18 | return safeAreaInsets
19 | }
20 | return UIEdgeInsets.init(top: 20, left: 0, bottom: 0, right: 0)
21 | }
22 | return UIEdgeInsets.init(top: 20, left: 0, bottom: 0, right: 0)
23 | }
24 |
25 | func jx_navigationHeight() -> CGFloat {
26 | let statusBarHeight = jx_layoutInsets().top
27 | return statusBarHeight + 44
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample/Example/HeaderPosition/HeaderPositionViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HeaderPositionViewController.swift
3 | // JXPagingView
4 | //
5 | // Created by jiaxin on 2019/3/2.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class HeaderPositionViewController: BaseViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 |
16 | self.pagingView.pinSectionHeaderVerticalOffset = 100
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample/Example/HeightChange/HeightChangeViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HeightChangeViewController.swift
3 | // JXPagingView
4 | //
5 | // Created by jiaxin on 2018/11/14.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class HeightChangeViewController: BaseViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 |
16 | self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "高度", style: .plain, target: self, action: #selector(didNaviRightItemClicked))
17 | }
18 |
19 | @objc func didNaviRightItemClicked() {
20 | if tableHeaderViewHeight == 200 {
21 | //先更新`func tableHeaderViewHeight(in pagingView: JXPagingView) -> Int`方法用到的变量
22 | tableHeaderViewHeight = 100
23 | //再调用resizeTableHeaderViewHeight方法
24 | pagingView.resizeTableHeaderViewHeight()
25 | }else {
26 | tableHeaderViewHeight = 200
27 | pagingView.resizeTableHeaderViewHeight()
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample/Example/Refresh/ListRefreshViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ListRefreshViewController.swift
3 | // JXPagingView
4 | //
5 | // Created by jiaxin on 2018/8/28.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import JXPagingView
11 | import JXSegmentedView
12 |
13 | class ListRefreshViewController: BaseViewController {
14 |
15 | override func viewDidLoad() {
16 | super.viewDidLoad()
17 |
18 | self.isNeedHeader = true
19 | }
20 |
21 | override func preferredPagingView() -> JXPagingView {
22 | return JXPagingListRefreshView(delegate: self)
23 | }
24 |
25 | //用于测试每次点击segment切换,都触发子列表的下拉刷新
26 | /*
27 | override func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
28 | super.segmentedView(segmentedView, didSelectedItemAt: index)
29 |
30 | guard let list = pagingView.validListDict[index] as? ListViewController else {
31 | return
32 | }
33 | list.tableView.mj_header?.beginRefreshing()
34 | }
35 | */
36 | }
37 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample/Example/Zoom/ZoomViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ZoomViewController.swift
3 | // JXPagingView
4 | //
5 | // Created by jiaxin on 2018/8/8.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import JXPagingView
11 |
12 | class ZoomViewController: BaseViewController {
13 |
14 | override func viewDidLoad() {
15 | super.viewDidLoad()
16 |
17 | }
18 |
19 | override func pagingView(_ pagingView: JXPagingView, mainTableViewDidScroll scrollView: UIScrollView) {
20 | userHeaderView.scrollViewDidScroll(contentOffsetY: scrollView.contentOffset.y)
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/JXPagingViewExample/Swift-Bridge-Objective-C.h:
--------------------------------------------------------------------------------
1 | //
2 | // Swift-Bridge-Objective-C.h
3 | // JXPagingView
4 | //
5 | // Created by jiaxin on 2018/5/29.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | @import MJRefresh;
10 | @import JXPagingView;
11 | @import JXSegmentedView;
12 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '8.0'
2 |
3 | use_frameworks!
4 | target 'JXPagingViewExample' do
5 | pod 'JXPagingView/Paging', :path => '../../../JXPagingView'
6 | pod 'MJRefresh', '3.4.0'
7 | pod 'JXSegmentedView'
8 | end
9 |
10 | post_install do |installer|
11 | installer.pods_project.targets.each do |target|
12 | target.build_configurations.each do |config|
13 | config.build_settings["IPHONEOS_DEPLOYMENT_TARGET"] = "11.0"
14 | end
15 | end
16 | end
17 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - JXPagingView/Paging (2.1.4)
3 | - JXSegmentedView (1.0.2)
4 | - MJRefresh (3.4.0)
5 |
6 | DEPENDENCIES:
7 | - JXPagingView/Paging (from `../../../JXPagingView`)
8 | - JXSegmentedView
9 | - MJRefresh (= 3.4.0)
10 |
11 | SPEC REPOS:
12 | trunk:
13 | - JXSegmentedView
14 | - MJRefresh
15 |
16 | EXTERNAL SOURCES:
17 | JXPagingView:
18 | :path: "../../../JXPagingView"
19 |
20 | SPEC CHECKSUMS:
21 | JXPagingView: 28ab45ab0f9811153ef28266071877d42483ba8c
22 | JXSegmentedView: 2988fe07060a9b91b0112eabd6dee0df0cbca8b3
23 | MJRefresh: 95b08b3b8b6457d2c69510439e0349599050ea34
24 |
25 | PODFILE CHECKSUM: 4a1efecfab50d3c91601221b19e58c54aa7e3ab8
26 |
27 | COCOAPODS: 1.16.2
28 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/JXSegmentedView/Sources/AttributeTitle/JXSegmentedTitleAttributeItemModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXSegmentedTitleAttributeItemModel.swift
3 | // JXSegmentedView
4 | //
5 | // Created by jiaxin on 2019/1/3.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | open class JXSegmentedTitleAttributeItemModel: JXSegmentedBaseItemModel {
12 | open var attributedTitle: NSAttributedString?
13 | open var selectedAttributedTitle: NSAttributedString?
14 | open var titleNumberOfLines: Int = 0
15 | open var textWidth: CGFloat = 0
16 | }
17 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/JXSegmentedView/Sources/Core/JXSegmentedBaseItemModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXSegmentedBaseItemModel.swift
3 | // JXSegmentedView
4 | //
5 | // Created by jiaxin on 2018/12/26.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | open class JXSegmentedBaseItemModel {
13 | open var index: Int = 0
14 | open var isSelected: Bool = false
15 | open var itemWidth: CGFloat = 0
16 | /// 指示器视图Frame转换到cell
17 | open var indicatorConvertToItemFrame: CGRect = CGRect.zero
18 | open var isItemTransitionEnabled: Bool = true
19 | open var isSelectedAnimable: Bool = false
20 | open var selectedAnimationDuration: TimeInterval = 0
21 | /// 是否正在进行过渡动画
22 | open var isTransitionAnimating: Bool = false
23 | open var isItemWidthZoomEnabled: Bool = false
24 | open var itemWidthNormalZoomScale: CGFloat = 0
25 | open var itemWidthCurrentZoomScale: CGFloat = 0
26 | open var itemWidthSelectedZoomScale: CGFloat = 0
27 |
28 | public init() {
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/JXSegmentedView/Sources/Core/JXSegmentedCollectionView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXSegmentedCollectionView.swift
3 | // JXSegmentedView
4 | //
5 | // Created by jiaxin on 2018/12/26.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | open class JXSegmentedCollectionView: UICollectionView {
12 |
13 | open var indicators = [JXSegmentedIndicatorProtocol & UIView]() {
14 | willSet {
15 | for indicator in indicators {
16 | indicator.removeFromSuperview()
17 | }
18 | }
19 | didSet {
20 | for indicator in indicators {
21 | addSubview(indicator)
22 | }
23 | }
24 | }
25 |
26 | open override func layoutSubviews() {
27 | super.layoutSubviews()
28 |
29 | for indicator in indicators {
30 | sendSubviewToBack(indicator)
31 | }
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/JXSegmentedView/Sources/Dot/JXSegmentedDotItemModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXSegmentedDotItemModel.swift
3 | // JXSegmentedView
4 | //
5 | // Created by jiaxin on 2018/12/28.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | open class JXSegmentedDotItemModel: JXSegmentedTitleItemModel {
12 | open var dotState = false
13 | open var dotSize = CGSize.zero
14 | open var dotCornerRadius: CGFloat = 0
15 | open var dotColor = UIColor.red
16 | open var dotOffset: CGPoint = CGPoint.zero
17 | }
18 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/JXSegmentedView/Sources/Indicator/JXSegmentedComponetGradientView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXSegmentedIndicatorGradientView.swift
3 | // JXSegmentedView
4 | //
5 | // Created by jiaxin on 2019/1/2.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | open class JXSegmentedComponetGradientView: UIView {
12 | open class override var layerClass: AnyClass {
13 | return CAGradientLayer.self
14 | }
15 |
16 | open var gradientLayer: CAGradientLayer {
17 | return layer as! CAGradientLayer
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/JXSegmentedView/Sources/Number/JXSegmentedNumberItemModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXSegmentedNumberItemModel.swift
3 | // JXSegmentedView
4 | //
5 | // Created by jiaxin on 2018/12/28.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | open class JXSegmentedNumberItemModel: JXSegmentedTitleItemModel {
13 | open var number: Int = 0
14 | open var numberString: String = "0"
15 | open var numberBackgroundColor: UIColor = .red
16 | open var numberTextColor: UIColor = .white
17 | open var numberWidthIncrement: CGFloat = 0
18 | open var numberFont: UIFont = UIFont.systemFont(ofSize: 11)
19 | open var numberOffset: CGPoint = CGPoint.zero
20 | open var numberHeight: CGFloat = 14
21 | }
22 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/JXSegmentedView/Sources/TitleGradient/JXSegmentedTitleGradientItemModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXSegmentedTitleGradientItemModel.swift
3 | // JXSegmentedView
4 | //
5 | // Created by jiaxin on 2019/1/23.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | open class JXSegmentedTitleGradientItemModel: JXSegmentedTitleItemModel {
12 | open var titleNormalGradientColors: [CGColor] = [CGColor]()
13 | open var titleCurrentGradientColors: [CGColor] = [CGColor]()
14 | open var titleSelectedGradientColors: [CGColor] = [CGColor]()
15 | open var titleGradientStartPoint: CGPoint = CGPoint.zero
16 | open var titleGradientEndPoint: CGPoint = CGPoint.zero
17 | }
18 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/JXSegmentedView/Sources/TitleImage/JXSegmentedTitleImageItemModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXSegmentedTitleImageItemModel.swift
3 | // JXSegmentedView
4 | //
5 | // Created by jiaxin on 2018/12/29.
6 | // Copyright © 2018 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | open class JXSegmentedTitleImageItemModel: JXSegmentedTitleItemModel {
12 | open var titleImageType: JXSegmentedTitleImageType = .rightImage
13 | open var normalImageInfo: String?
14 | open var selectedImageInfo: String?
15 | open var loadImageClosure: LoadImageClosure?
16 | open var imageSize: CGSize = CGSize.zero
17 | open var titleImageSpacing: CGFloat = 0
18 | open var isImageZoomEnabled: Bool = false
19 | open var imageNormalZoomScale: CGFloat = 0
20 | open var imageCurrentZoomScale: CGFloat = 0
21 | open var imageSelectedZoomScale: CGFloat = 0
22 | }
23 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/JXSegmentedView/Sources/TitleOrImage/JXSegmentedTitleOrImageItemModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXSegmentedTitleOrImageItemModel.swift
3 | // JXSegmentedView
4 | //
5 | // Created by jiaxin on 2019/1/22.
6 | // Copyright © 2019 jiaxin. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | open class JXSegmentedTitleOrImageItemModel: JXSegmentedTitleItemModel {
12 | open var selectedImageInfo: String?
13 | open var loadImageClosure: LoadImageClosure?
14 | open var imageSize: CGSize = CGSize.zero
15 | }
16 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshAutoFooter : MJRefreshFooter
14 | /** 是否自动刷新(默认为YES) */
15 | @property (assign, nonatomic, getter=isAutomaticallyRefresh) BOOL automaticallyRefresh;
16 |
17 | /** 当底部控件出现多少时就自动刷新(默认为1.0,也就是底部控件完全出现时,才会自动刷新) */
18 | @property (assign, nonatomic) CGFloat appearencePercentTriggerAutoRefresh MJRefreshDeprecated("请使用triggerAutomaticallyRefreshPercent属性");
19 |
20 | /** 当底部控件出现多少时就自动刷新(默认为1.0,也就是底部控件完全出现时,才会自动刷新) */
21 | @property (assign, nonatomic) CGFloat triggerAutomaticallyRefreshPercent;
22 |
23 | /** 自动触发次数, 默认为 1, 仅在拖拽 ScrollView 时才生效,
24 |
25 | 如果为 -1, 则为无限触发
26 | */
27 | @property (nonatomic) NSInteger autoTriggerTimes;
28 | @end
29 |
30 | NS_ASSUME_NONNULL_END
31 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshBackFooter : MJRefreshFooter
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshAutoGifFooter : MJRefreshAutoStateFooter
14 | @property (weak, nonatomic, readonly) UIImageView *gifView;
15 |
16 | /** 设置state状态下的动画图片images 动画持续时间duration*/
17 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
18 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshAutoNormalFooter : MJRefreshAutoStateFooter
14 | @property (weak, nonatomic, readonly) UIActivityIndicatorView *loadingView;
15 |
16 | /** 菊花的样式 */
17 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle MJRefreshDeprecated("first deprecated in 3.2.2 - Use `loadingView` property");
18 | @end
19 |
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshAutoStateFooter : MJRefreshAutoFooter
14 | /** 文字距离圈圈、箭头的距离 */
15 | @property (assign, nonatomic) CGFloat labelLeftInset;
16 | /** 显示刷新状态的label */
17 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
18 |
19 | /** 设置state状态下的文字 */
20 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
21 |
22 | /** 隐藏刷新状态的文字 */
23 | @property (assign, nonatomic, getter=isRefreshingTitleHidden) BOOL refreshingTitleHidden;
24 | @end
25 |
26 | NS_ASSUME_NONNULL_END
27 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshBackGifFooter : MJRefreshBackStateFooter
14 | @property (weak, nonatomic, readonly) UIImageView *gifView;
15 |
16 | /** 设置state状态下的动画图片images 动画持续时间duration*/
17 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
18 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshBackNormalFooter : MJRefreshBackStateFooter
14 | @property (weak, nonatomic, readonly) UIImageView *arrowView;
15 | @property (weak, nonatomic, readonly) UIActivityIndicatorView *loadingView;
16 |
17 | /** 菊花的样式 */
18 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle MJRefreshDeprecated("first deprecated in 3.2.2 - Use `loadingView` property");
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshBackStateFooter : MJRefreshBackFooter
14 | /** 文字距离圈圈、箭头的距离 */
15 | @property (assign, nonatomic) CGFloat labelLeftInset;
16 | /** 显示刷新状态的label */
17 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
18 | /** 设置state状态下的文字 */
19 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
20 |
21 | /** 获取state状态下的title */
22 | - (NSString *)titleForState:(MJRefreshState)state;
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshGifHeader : MJRefreshStateHeader
14 | @property (weak, nonatomic, readonly) UIImageView *gifView;
15 |
16 | /** 设置state状态下的动画图片images 动画持续时间duration*/
17 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
18 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state;
19 | @end
20 |
21 | NS_ASSUME_NONNULL_END
22 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshNormalHeader : MJRefreshStateHeader
14 | @property (weak, nonatomic, readonly) UIImageView *arrowView;
15 | @property (weak, nonatomic, readonly) UIActivityIndicatorView *loadingView;
16 |
17 |
18 | /** 菊花的样式 */
19 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle MJRefreshDeprecated("first deprecated in 3.2.2 - Use `loadingView` property");
20 | @end
21 |
22 | NS_ASSUME_NONNULL_END
23 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface MJRefreshStateHeader : MJRefreshHeader
14 | #pragma mark - 刷新时间相关
15 | /** 利用这个block来决定显示的更新时间文字 */
16 | @property (copy, nonatomic, nullable) NSString *(^lastUpdatedTimeText)(NSDate * _Nullable lastUpdatedTime);
17 | /** 显示上一次刷新时间的label */
18 | @property (weak, nonatomic, readonly) UILabel *lastUpdatedTimeLabel;
19 |
20 | #pragma mark - 状态相关
21 | /** 文字距离圈圈、箭头的距离 */
22 | @property (assign, nonatomic) CGFloat labelLeftInset;
23 | /** 显示刷新状态的label */
24 | @property (weak, nonatomic, readonly) UILabel *stateLabel;
25 | /** 设置state状态下的文字 */
26 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state;
27 | @end
28 |
29 | NS_ASSUME_NONNULL_END
30 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/arrow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/arrow@2x.png
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/en.lproj/Localizable.strings
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/ko.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | "MJRefreshHeaderIdleText" = "아래로 당겨 새로고침";
2 | "MJRefreshHeaderPullingText" = "놓으면 새로고침";
3 | "MJRefreshHeaderRefreshingText" = "로딩중...";
4 |
5 | "MJRefreshAutoFooterIdleText" = "탭 또는 위로 당겨 로드함";
6 | "MJRefreshAutoFooterRefreshingText" = "로딩중...";
7 | "MJRefreshAutoFooterNoMoreDataText" = "더이상 데이터 없음";
8 |
9 | "MJRefreshBackFooterIdleText" = "위로 당겨 더 로드 가능";
10 | "MJRefreshBackFooterPullingText" = "놓으면 더 로드됨.";
11 | "MJRefreshBackFooterRefreshingText" = "로딩중...";
12 | "MJRefreshBackFooterNoMoreDataText" = "더이상 데이터 없음";
13 |
14 | "MJRefreshHeaderLastTimeText" = "마지막 업데이트: ";
15 | "MJRefreshHeaderDateTodayText" = "오늘";
16 | "MJRefreshHeaderNoneLastDateText" = "기록 없음";
17 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/ru.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/ru.lproj/Localizable.strings
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/uk.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/uk.lproj/Localizable.strings
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hans.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hans.lproj/Localizable.strings
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hant.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | "MJRefreshHeaderIdleText" = "下拉可以刷新";
2 | "MJRefreshHeaderPullingText" = "鬆開立即刷新";
3 | "MJRefreshHeaderRefreshingText" = "正在刷新數據中...";
4 |
5 | "MJRefreshAutoFooterIdleText" = "點擊或上拉加載更多";
6 | "MJRefreshAutoFooterRefreshingText" = "正在加載更多的數據...";
7 | "MJRefreshAutoFooterNoMoreDataText" = "已經全部加載完畢";
8 |
9 | "MJRefreshBackFooterIdleText" = "上拉可以加載更多";
10 | "MJRefreshBackFooterPullingText" = "鬆開立即加載更多";
11 | "MJRefreshBackFooterRefreshingText" = "正在加載更多的數據...";
12 | "MJRefreshBackFooterNoMoreDataText" = "已經全部加載完畢";
13 |
14 | "MJRefreshHeaderLastTimeText" = "最後更新:";
15 | "MJRefreshHeaderDateTodayText" = "今天";
16 | "MJRefreshHeaderNoneLastDateText" = "無記錄";
17 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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"
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefreshConfig.h:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshConfig.h
3 | //
4 | // Created by Frank on 2018/11/27.
5 | // Copyright © 2018 小码哥. All rights reserved.
6 | //
7 |
8 | #import
9 |
10 | NS_ASSUME_NONNULL_BEGIN
11 |
12 | @interface MJRefreshConfig : NSObject
13 |
14 | /** 默认使用的语言版本, 默认为 nil. 将随系统的语言自动改变 */
15 | @property (copy, nonatomic, nullable) NSString *languageCode;
16 |
17 | /** @return Singleton Config instance */
18 | + (instancetype)defaultConfig;
19 |
20 | - (instancetype)init NS_UNAVAILABLE;
21 | + (instancetype)new NS_UNAVAILABLE;
22 |
23 | @end
24 |
25 | NS_ASSUME_NONNULL_END
26 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/MJRefreshConfig.m:
--------------------------------------------------------------------------------
1 | //
2 | // MJRefreshConfig.m
3 | //
4 | // Created by Frank on 2018/11/27.
5 | // Copyright © 2018 小码哥. All rights reserved.
6 | //
7 |
8 | #import "MJRefreshConfig.h"
9 |
10 | @implementation MJRefreshConfig
11 |
12 | static MJRefreshConfig *mj_RefreshConfig = nil;
13 |
14 | + (instancetype)defaultConfig {
15 | static dispatch_once_t onceToken;
16 | dispatch_once(&onceToken, ^{
17 | mj_RefreshConfig = [[self alloc] init];
18 | });
19 | return mj_RefreshConfig;
20 | }
21 |
22 |
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/MJRefresh/NSBundle+MJRefresh.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSBundle+MJRefresh.h
3 | // MJRefreshExample
4 | //
5 | // Created by MJ Lee on 16/6/13.
6 | // Copyright © 2016年 小码哥. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface NSBundle (MJRefresh)
14 | + (instancetype)mj_refreshBundle;
15 | + (UIImage *)mj_arrowImage;
16 | + (NSString *)mj_localizedStringForKey:(NSString *)key value:(nullable NSString *)value;
17 | + (NSString *)mj_localizedStringForKey:(NSString *)key;
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface UIScrollView (MJExtension)
15 | @property (readonly, nonatomic) UIEdgeInsets mj_inset;
16 |
17 | @property (assign, nonatomic) CGFloat mj_insetT;
18 | @property (assign, nonatomic) CGFloat mj_insetB;
19 | @property (assign, nonatomic) CGFloat mj_insetL;
20 | @property (assign, nonatomic) CGFloat mj_insetR;
21 |
22 | @property (assign, nonatomic) CGFloat mj_offsetX;
23 | @property (assign, nonatomic) CGFloat mj_offsetY;
24 |
25 | @property (assign, nonatomic) CGFloat mj_contentW;
26 | @property (assign, nonatomic) CGFloat mj_contentH;
27 | @end
28 |
29 | NS_ASSUME_NONNULL_END
30 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | #import "MJRefreshConst.h"
12 |
13 | @class MJRefreshHeader, MJRefreshFooter;
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @interface UIScrollView (MJRefresh)
18 | /** 下拉刷新控件 */
19 | @property (strong, nonatomic, nullable) MJRefreshHeader *mj_header;
20 | @property (strong, nonatomic, nullable) MJRefreshHeader *header MJRefreshDeprecated("使用mj_header");
21 | /** 上拉刷新控件 */
22 | @property (strong, nonatomic, nullable) MJRefreshFooter *mj_footer;
23 | @property (strong, nonatomic, nullable) MJRefreshFooter *footer MJRefreshDeprecated("使用mj_footer");
24 |
25 | #pragma mark - other
26 | - (NSInteger)mj_totalDataCount;
27 |
28 | @end
29 |
30 | NS_ASSUME_NONNULL_END
31 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/MJRefresh/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 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface UIView (MJExtension)
15 | @property (assign, nonatomic) CGFloat mj_x;
16 | @property (assign, nonatomic) CGFloat mj_y;
17 | @property (assign, nonatomic) CGFloat mj_w;
18 | @property (assign, nonatomic) CGFloat mj_h;
19 | @property (assign, nonatomic) CGSize mj_size;
20 | @property (assign, nonatomic) CGPoint mj_origin;
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - JXPagingView/Paging (2.1.4)
3 | - JXSegmentedView (1.0.2)
4 | - MJRefresh (3.4.0)
5 |
6 | DEPENDENCIES:
7 | - JXPagingView/Paging (from `../../../JXPagingView`)
8 | - JXSegmentedView
9 | - MJRefresh (= 3.4.0)
10 |
11 | SPEC REPOS:
12 | trunk:
13 | - JXSegmentedView
14 | - MJRefresh
15 |
16 | EXTERNAL SOURCES:
17 | JXPagingView:
18 | :path: "../../../JXPagingView"
19 |
20 | SPEC CHECKSUMS:
21 | JXPagingView: 28ab45ab0f9811153ef28266071877d42483ba8c
22 | JXSegmentedView: 2988fe07060a9b91b0112eabd6dee0df0cbca8b3
23 | MJRefresh: 95b08b3b8b6457d2c69510439e0349599050ea34
24 |
25 | PODFILE CHECKSUM: 4a1efecfab50d3c91601221b19e58c54aa7e3ab8
26 |
27 | COCOAPODS: 1.16.2
28 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXPagingView/JXPagingView-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.1.4
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXPagingView/JXPagingView-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_JXPagingView : NSObject
3 | @end
4 | @implementation PodsDummy_JXPagingView
5 | @end
6 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXPagingView/JXPagingView-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXPagingView/JXPagingView-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double JXPagingViewVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char JXPagingViewVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXPagingView/JXPagingView.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../..
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXPagingView/JXPagingView.modulemap:
--------------------------------------------------------------------------------
1 | framework module JXPagingView {
2 | umbrella header "JXPagingView-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXPagingView/JXPagingView.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../..
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXPagingView/JXPagingView.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../..
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXPagingView/ResourceBundle-JXPagingView-JXPagingView-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 2.1.4
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXSegmentedView/JXSegmentedView-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.2
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXSegmentedView/JXSegmentedView-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_JXSegmentedView : NSObject
3 | @end
4 | @implementation PodsDummy_JXSegmentedView
5 | @end
6 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXSegmentedView/JXSegmentedView-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXSegmentedView/JXSegmentedView-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double JXSegmentedViewVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char JXSegmentedViewVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXSegmentedView/JXSegmentedView.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_LDFLAGS = $(inherited) -framework "UIKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
10 | PODS_ROOT = ${SRCROOT}
11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/JXSegmentedView
12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
14 | SKIP_INSTALL = YES
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXSegmentedView/JXSegmentedView.modulemap:
--------------------------------------------------------------------------------
1 | framework module JXSegmentedView {
2 | umbrella header "JXSegmentedView-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXSegmentedView/JXSegmentedView.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_LDFLAGS = $(inherited) -framework "UIKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
10 | PODS_ROOT = ${SRCROOT}
11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/JXSegmentedView
12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
14 | SKIP_INSTALL = YES
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/JXSegmentedView/JXSegmentedView.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_LDFLAGS = $(inherited) -framework "UIKit"
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/JXSegmentedView
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/MJRefresh/MJRefresh-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 3.4.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/MJRefresh/MJRefresh-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MJRefresh : NSObject
3 | @end
4 | @implementation PodsDummy_MJRefresh
5 | @end
6 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/MJRefresh/MJRefresh-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/MJRefresh/MJRefresh.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJRefresh
9 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
13 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/MJRefresh/MJRefresh.modulemap:
--------------------------------------------------------------------------------
1 | framework module MJRefresh {
2 | umbrella header "MJRefresh-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/MJRefresh/MJRefresh.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJRefresh
9 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
13 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/MJRefresh/MJRefresh.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | PODS_BUILD_DIR = ${BUILD_DIR}
4 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5 | PODS_ROOT = ${SRCROOT}
6 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJRefresh
7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
8 | SKIP_INSTALL = YES
9 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/Pods-JXPagingViewExample/Pods-JXPagingViewExample-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | ${PODS_DEVELOPMENT_LANGUAGE}
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/Pods-JXPagingViewExample/Pods-JXPagingViewExample-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_JXPagingViewExample : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_JXPagingViewExample
5 | @end
6 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/Pods-JXPagingViewExample/Pods-JXPagingViewExample-frameworks-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-JXPagingViewExample/Pods-JXPagingViewExample-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/JXPagingView/JXPagingView.framework
3 | ${BUILT_PRODUCTS_DIR}/JXSegmentedView/JXSegmentedView.framework
4 | ${BUILT_PRODUCTS_DIR}/MJRefresh/MJRefresh.framework
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/Pods-JXPagingViewExample/Pods-JXPagingViewExample-frameworks-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JXPagingView.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JXSegmentedView.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJRefresh.framework
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/Pods-JXPagingViewExample/Pods-JXPagingViewExample-frameworks-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-JXPagingViewExample/Pods-JXPagingViewExample-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/JXPagingView/JXPagingView.framework
3 | ${BUILT_PRODUCTS_DIR}/JXSegmentedView/JXSegmentedView.framework
4 | ${BUILT_PRODUCTS_DIR}/MJRefresh/MJRefresh.framework
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/Pods-JXPagingViewExample/Pods-JXPagingViewExample-frameworks-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JXPagingView.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JXSegmentedView.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJRefresh.framework
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/Pods-JXPagingViewExample/Pods-JXPagingViewExample-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_JXPagingViewExampleVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_JXPagingViewExampleVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Examples/JXPagingViewExample/Pods/Target Support Files/Pods-JXPagingViewExample/Pods-JXPagingViewExample.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_JXPagingViewExample {
2 | umbrella header "Pods-JXPagingViewExample-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Examples/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/down.png
--------------------------------------------------------------------------------
/Examples/lufei.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pujiaxin33/JXPagingView/8aa5663720ebfab0c4df41cfca04b113f832c5b2/Examples/lufei.jpg
--------------------------------------------------------------------------------
/JXPagingView.podspec:
--------------------------------------------------------------------------------
1 |
2 | Pod::Spec.new do |s|
3 | s.name = "JXPagingView"
4 | s.version = "2.1.4"
5 | s.summary = "类似微博主页、简书主页等效果。多页面嵌套,既可以上下滑动,也可以左右滑动切换页面。支持HeaderView悬浮、支持下拉刷新、上拉加载更多。"
6 | s.homepage = "https://github.com/pujiaxin33/JXPagingView"
7 | s.author = { "pujiaxin33" => "317437084@qq.com" }
8 | s.platform = :ios, "9.0"
9 | s.swift_versions = ["4.2", "5.0"]
10 | s.source = { :git => "https://github.com/pujiaxin33/JXPagingView.git", :tag => "#{s.version}" }
11 | s.source_files = "JXPagingView", "Sources/JXPagingView/**/*.swift"
12 | s.license = "MIT"
13 | s.subspec 'Pager' do |pager|
14 | pager.source_files = 'JXPagerView', 'Sources/JXPagerView/**/*.{h,m}'
15 | pager.resource_bundles = {"JXPagerView" => ["Sources/PrivacyInfo.xcprivacy"]}
16 | end
17 |
18 | s.subspec 'Paging' do |paging|
19 | paging.source_files = "JXPagingView", "Sources/JXPagingView/**/*.swift"
20 | paging.resource_bundles = {"JXPagingView" => ["Sources/PrivacyInfo.xcprivacy"]}
21 | end
22 |
23 | s.requires_arc = true
24 |
25 | end
26 |
--------------------------------------------------------------------------------
/JXRTLFlowLayout.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXRTLFlowLayout.swift
3 | // JXPagingView
4 | //
5 | // Created by Jiaxin Pu on 2024/7/10.
6 | //
7 |
8 | import UIKit
9 |
10 | class JXRTLFlowLayout: UICollectionViewFlowLayout {
11 | override var flipsHorizontallyInOppositeLayoutDirection: Bool {
12 | get {
13 | return UIView.userInterfaceLayoutDirection(for: UIView.appearance().semanticContentAttribute) == .rightToLeft
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 暴走的鑫鑫
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 all
13 | 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 THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Sources/JXPagerView/JXPagerListRefreshView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXPagingListRefreshView.h
3 | // JXPagingView
4 | //
5 | // Created by jiaxin on 2018/8/28.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "JXPagerView.h"
11 |
12 | @interface JXPagerListRefreshView : JXPagerView
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Sources/JXPagerView/JXPagerMainTableView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXPagingMainTableView.h
3 | // JXPagingView
4 | //
5 | // Created by jiaxin on 2018/8/27.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @protocol JXPagerMainTableViewGestureDelegate
12 |
13 | - (BOOL)mainTableViewGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;
14 |
15 | @end
16 |
17 | @interface JXPagerMainTableView : UITableView
18 | @property (nonatomic, weak) id gestureDelegate;
19 | @end
20 |
--------------------------------------------------------------------------------
/Sources/JXPagerView/JXPagerMainTableView.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXPagerMainTableView.m
3 | // JXPagerView
4 | //
5 | // Created by jiaxin on 2018/8/27.
6 | // Copyright © 2018年 jiaxin. All rights reserved.
7 | //
8 |
9 | #import "JXPagerMainTableView.h"
10 |
11 | @interface JXPagerMainTableView ()
12 |
13 | @end
14 |
15 | @implementation JXPagerMainTableView
16 |
17 | - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
18 | if (self.gestureDelegate && [self.gestureDelegate respondsToSelector:@selector(mainTableViewGestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:)]) {
19 | return [self.gestureDelegate mainTableViewGestureRecognizer:gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:otherGestureRecognizer];
20 | }else {
21 | return [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]];
22 | }
23 | }
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Sources/JXPagerView/JXRTLFlowLayout.h:
--------------------------------------------------------------------------------
1 | //
2 | // JXRTLFlowLayout.h
3 | //
4 | //
5 | // Created by jx on 2024/5/27.
6 | //
7 |
8 | #import
9 |
10 | NS_ASSUME_NONNULL_BEGIN
11 |
12 | @interface JXRTLFlowLayout : UICollectionViewFlowLayout
13 |
14 | @end
15 |
16 | NS_ASSUME_NONNULL_END
17 |
--------------------------------------------------------------------------------
/Sources/JXPagerView/JXRTLFlowLayout.m:
--------------------------------------------------------------------------------
1 | //
2 | // JXRTLFlowLayout.m
3 | //
4 | //
5 | // Created by jx on 2024/5/27.
6 | //
7 |
8 | #import "JXRTLFlowLayout.h"
9 |
10 | @implementation JXRTLFlowLayout
11 |
12 |
13 | - (BOOL)flipsHorizontallyInOppositeLayoutDirection {
14 | return [UIView userInterfaceLayoutDirectionForSemanticContentAttribute:UIView.appearance.semanticContentAttribute] == UIUserInterfaceLayoutDirectionRightToLeft;
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Sources/JXPagingView/JXRTLFlowLayout.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JXPagingView.swift
3 | // JXRTLFlowLayout
4 | //
5 | // Created by jx on 2024/5/27.
6 | //
7 |
8 | import UIKit
9 |
10 | class JXRTLFlowLayout: UICollectionViewFlowLayout {
11 | override var flipsHorizontallyInOppositeLayoutDirection: Bool {
12 | get {
13 | return UIView.userInterfaceLayoutDirection(for: UIView.appearance().semanticContentAttribute) == .rightToLeft
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Sources/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyAccessedAPITypes
6 |
7 | NSPrivacyTrackingDomains
8 |
9 | NSPrivacyCollectedDataTypes
10 |
11 | NSPrivacyTracking
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------