123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- //
- // MJRefreshAutoNormalFooter.m
- // MJRefreshExample
- //
- // Created by MJ Lee on 15/4/24.
- // Copyright (c) 2015年 小码哥. All rights reserved.
- //
- #import "MJRefreshAutoNormalFooter.h"
- @interface MJRefreshAutoNormalFooter()
- @property (weak, nonatomic) UIActivityIndicatorView *loadingView;
- @end
- @implementation MJRefreshAutoNormalFooter
- #pragma mark - 懒加载子控件
- - (UIActivityIndicatorView *)loadingView
- {
- if (!_loadingView) {
- UIActivityIndicatorView *loadingView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:self.activityIndicatorViewStyle];
- loadingView.hidesWhenStopped = YES;
- [self addSubview:_loadingView = loadingView];
- }
- return _loadingView;
- }
- - (void)setActivityIndicatorViewStyle:(UIActivityIndicatorViewStyle)activityIndicatorViewStyle
- {
- _activityIndicatorViewStyle = activityIndicatorViewStyle;
-
- self.loadingView = nil;
- [self setNeedsLayout];
- }
- #pragma mark - 重写父类的方法
- - (void)prepare
- {
- [super prepare];
-
- self.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
- }
- - (void)placeSubviews
- {
- [super placeSubviews];
-
- if (self.loadingView.constraints.count) return;
-
- // 圈圈
- CGFloat loadingCenterX = self.mj_w * 0.5;
- if (!self.isRefreshingTitleHidden) {
- loadingCenterX -= self.stateLabel.mj_textWith * 0.5 + self.labelLeftInset;
- }
- CGFloat loadingCenterY = self.mj_h * 0.5;
- self.loadingView.center = CGPointMake(loadingCenterX, loadingCenterY);
- }
- - (void)setState:(MJRefreshState)state
- {
- MJRefreshCheckState
-
- // 根据状态做事情
- if (state == MJRefreshStateNoMoreData || state == MJRefreshStateIdle) {
- [self.loadingView stopAnimating];
- } else if (state == MJRefreshStateRefreshing) {
- [self.loadingView startAnimating];
- }
- }
- @end
|