Skip to content

Commit ada9e24

Browse files
MJ LeeMJ Lee
authored andcommitted
一些残留的问题
1.用async+mainQueue替代endRefreshing的0.1s延迟问题 2.完善:圈圈控件根据文字长短变换位置
1 parent 4e7ead8 commit ada9e24

File tree

5 files changed

+15
-27
lines changed

5 files changed

+15
-27
lines changed

MJRefresh.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'MJRefresh'
3-
s.version = '3.1.4'
3+
s.version = '3.1.5'
44
s.summary = 'An easy way to use pull-to-refresh'
55
s.homepage = 'https://github.com/CoderMJLee/MJRefresh'
66
s.license = 'MIT'

MJRefresh/Base/MJRefreshBackFooter.m

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -122,29 +122,19 @@ - (void)setState:(MJRefreshState)state
122122
}
123123
}
124124

125-
#pragma mark - 公共方法
126125
- (void)endRefreshing
127126
{
128-
if ([self.scrollView isKindOfClass:[UICollectionView class]]) {
129-
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
130-
[super endRefreshing];
131-
});
132-
} else {
133-
[super endRefreshing];
134-
}
127+
dispatch_async(dispatch_get_main_queue(), ^{
128+
self.state = MJRefreshStateIdle;
129+
});
135130
}
136131

137-
- (void)noticeNoMoreData
132+
- (void)endRefreshingWithNoMoreData
138133
{
139-
if ([self.scrollView isKindOfClass:[UICollectionView class]]) {
140-
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
141-
[super noticeNoMoreData];
142-
});
143-
} else {
144-
[super noticeNoMoreData];
145-
}
134+
dispatch_async(dispatch_get_main_queue(), ^{
135+
self.state = MJRefreshStateNoMoreData;
136+
});
146137
}
147-
148138
#pragma mark - 私有方法
149139
#pragma mark 获得scrollView的内容 超出 view 的高度
150140
- (CGFloat)heightForContentBreakView

MJRefresh/Base/MJRefreshComponent.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,9 @@ - (void)setState:(MJRefreshState)state
170170
{
171171
_state = state;
172172

173-
[self setNeedsLayout];
173+
dispatch_async(dispatch_get_main_queue(), ^{
174+
[self setNeedsLayout];
175+
});
174176
}
175177

176178
#pragma mark 进入刷新状态

MJRefresh/Base/MJRefreshHeader.m

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,9 @@ - (void)setState:(MJRefreshState)state
137137
#pragma mark - 公共方法
138138
- (void)endRefreshing
139139
{
140-
if ([self.scrollView isKindOfClass:[UICollectionView class]]) {
141-
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
142-
[super endRefreshing];
143-
});
144-
} else {
145-
[super endRefreshing];
146-
}
140+
dispatch_async(dispatch_get_main_queue(), ^{
141+
self.state = MJRefreshStateIdle;
142+
});
147143
}
148144

149145
- (NSDate *)lastUpdatedTime

MJRefreshExample/Classes/Second/MJCollectionViewController.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ - (void)example21
4848
[self.collectionView.mj_header beginRefreshing];
4949

5050
// 上拉刷新
51-
self.collectionView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
51+
self.collectionView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
5252
// 增加5条假数据
5353
for (int i = 0; i<5; i++) {
5454
[weakSelf.colors addObject:MJRandomColor];

0 commit comments

Comments
 (0)