123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // 代码地址: https://github.com/CoderMJLee/MJRefresh
- // 代码地址: 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
- #import <UIKit/UIKit.h>
- #import <objc/message.h>
- // 弱引用
- #define MJWeakSelf __weak typeof(self) weakSelf = self;
- // 日志输出
- #ifdef DEBUG
- #define MJRefreshLog(...) NSLog(__VA_ARGS__)
- #else
- #define MJRefreshLog(...)
- #endif
- // 过期提醒
- #define MJRefreshDeprecated(instead) NS_DEPRECATED(2_0, 2_0, 2_0, 2_0, instead)
- // 运行时objc_msgSend
- #define MJRefreshMsgSend(...) ((void (*)(void *, SEL, UIView *))objc_msgSend)(__VA_ARGS__)
- #define MJRefreshMsgTarget(target) (__bridge void *)(target)
- // RGB颜色
- #define MJRefreshColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]
- // 文字颜色
- #define MJRefreshLabelTextColor MJRefreshColor(90, 90, 90)
- // 字体大小
- #define MJRefreshLabelFont [UIFont boldSystemFontOfSize:14]
- // 图片路径
- #define MJRefreshSrcName(file) [@"MJRefresh.bundle" stringByAppendingPathComponent:file]
- #define MJRefreshFrameworkSrcName(file) [@"Frameworks/MJRefresh.framework/MJRefresh.bundle" stringByAppendingPathComponent:file]
- // 常量
- UIKIT_EXTERN const CGFloat MJRefreshHeaderHeight;
- UIKIT_EXTERN const CGFloat MJRefreshFooterHeight;
- UIKIT_EXTERN const CGFloat MJRefreshFastAnimationDuration;
- UIKIT_EXTERN const CGFloat MJRefreshSlowAnimationDuration;
- UIKIT_EXTERN NSString *const MJRefreshKeyPathContentOffset;
- UIKIT_EXTERN NSString *const MJRefreshKeyPathContentSize;
- UIKIT_EXTERN NSString *const MJRefreshKeyPathContentInset;
- UIKIT_EXTERN NSString *const MJRefreshKeyPathPanState;
- UIKIT_EXTERN NSString *const MJRefreshHeaderLastUpdatedTimeKey;
- UIKIT_EXTERN NSString *const MJRefreshHeaderIdleText;
- UIKIT_EXTERN NSString *const MJRefreshHeaderPullingText;
- UIKIT_EXTERN NSString *const MJRefreshHeaderRefreshingText;
- UIKIT_EXTERN NSString *const MJRefreshAutoFooterIdleText;
- UIKIT_EXTERN NSString *const MJRefreshAutoFooterRefreshingText;
- UIKIT_EXTERN NSString *const MJRefreshAutoFooterNoMoreDataText;
- UIKIT_EXTERN NSString *const MJRefreshBackFooterIdleText;
- UIKIT_EXTERN NSString *const MJRefreshBackFooterPullingText;
- UIKIT_EXTERN NSString *const MJRefreshBackFooterRefreshingText;
- UIKIT_EXTERN NSString *const MJRefreshBackFooterNoMoreDataText;
- // 状态检查
- #define MJRefreshCheckState \
- MJRefreshState oldState = self.state; \
- if (state == oldState) return; \
- [super setState:state];
|