123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- #import <UIKit/UIKit.h>
- #import "JXPagerMainTableView.h"
- #import "JXPagerListContainerView.h"
- @class JXPagerView;
- @protocol JXPagerViewDelegate <NSObject>
- - (NSUInteger)tableHeaderViewHeightInPagerView:(JXPagerView *)pagerView;
- - (UIView *)tableHeaderViewInPagerView:(JXPagerView *)pagerView;
- - (NSUInteger)heightForPinSectionHeaderInPagerView:(JXPagerView *)pagerView;
- - (UIView *)viewForPinSectionHeaderInPagerView:(JXPagerView *)pagerView;
- - (NSInteger)numberOfListsInPagerView:(JXPagerView *)pagerView;
- - (id<JXPagerViewListViewDelegate>)pagerView:(JXPagerView *)pagerView initListAtIndex:(NSInteger)index;
- @optional
- - (NSString *)pagerView:(JXPagerView *)pagerView listIdentifierAtIndex:(NSInteger)index;
- - (void)mainTableViewDidScroll:(UIScrollView *)scrollView __attribute__ ((deprecated));
- - (void)pagerView:(JXPagerView *)pagerView mainTableViewDidScroll:(UIScrollView *)scrollView;
- - (void)pagerView:(JXPagerView *)pagerView mainTableViewWillBeginDragging:(UIScrollView *)scrollView;
- - (void)pagerView:(JXPagerView *)pagerView mainTableViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
- - (void)pagerView:(JXPagerView *)pagerView mainTableViewDidEndDecelerating:(UIScrollView *)scrollView;
- - (void)pagerView:(JXPagerView *)pagerView mainTableViewDidEndScrollingAnimation:(UIScrollView *)scrollView;
- - (Class)scrollViewClassInlistContainerViewInPagerView:(JXPagerView *)pagerView;
- @end
- @interface JXPagerView : UIView
- @property (nonatomic, assign) NSInteger defaultSelectedIndex;
- @property (nonatomic, strong, readonly) JXPagerMainTableView *mainTableView;
- @property (nonatomic, strong, readonly) JXPagerListContainerView *listContainerView;
- @property (nonatomic, strong, readonly) NSDictionary <NSNumber *, id<JXPagerViewListViewDelegate>> *validListDict;
- @property (nonatomic, assign) NSInteger pinSectionHeaderVerticalOffset;
- @property (nonatomic, assign) BOOL isListHorizontalScrollEnabled;
- @property (nonatomic, assign) BOOL automaticallyDisplayListVerticalScrollIndicator;
- @property (nonatomic, assign) BOOL allowsCacheList;
- - (instancetype)initWithDelegate:(id<JXPagerViewDelegate>)delegate;
- - (instancetype)initWithDelegate:(id<JXPagerViewDelegate>)delegate listContainerType:(JXPagerListContainerType)type NS_DESIGNATED_INITIALIZER;
- - (instancetype)init NS_UNAVAILABLE;
- - (instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE;
- - (instancetype)initWithCoder:(NSCoder *)aDecoder NS_UNAVAILABLE;
- - (void)reloadData;
- - (void)resizeTableHeaderViewHeightWithAnimatable:(BOOL)animatable duration:(NSTimeInterval)duration curve:(UIViewAnimationCurve)curve;
- @end
- @interface JXPagerView (UISubclassingGet)
- @property (nonatomic, strong, readonly) UIScrollView *currentScrollingListView;
- @property (nonatomic, strong, readonly) id<JXPagerViewListViewDelegate> currentList;
- @property (nonatomic, assign, readonly) CGFloat mainTableViewMaxContentOffsetY;
- @end
- @interface JXPagerView (UISubclassingHooks)
- - (void)preferredProcessListViewDidScroll:(UIScrollView *)scrollView;
- - (void)preferredProcessMainTableViewDidScroll:(UIScrollView *)scrollView;
- - (void)setMainTableViewToMaxContentOffsetY;
- - (void)setListScrollViewToMinContentOffsetY:(UIScrollView *)scrollView;
- - (CGFloat)minContentOffsetYInListScrollView:(UIScrollView *)scrollView;
- @end
|