create
This commit is contained in:
45
Pods/MJRefresh/MJRefresh/UICollectionViewLayout+MJRefresh.m
generated
Normal file
45
Pods/MJRefresh/MJRefresh/UICollectionViewLayout+MJRefresh.m
generated
Normal file
@@ -0,0 +1,45 @@
|
||||
//
|
||||
// UICollectionViewLayout+MJRefresh.m
|
||||
//
|
||||
// 该类是用来解决 Footer 在底端加载完成后, 仍停留在原处的 bug.
|
||||
// 此问题出现在 iOS 14 及以下系统上.
|
||||
// Reference: https://github.com/CoderMJLee/MJRefresh/issues/1552
|
||||
//
|
||||
// Created by jiasong on 2021/11/15.
|
||||
// Copyright © 2021 小码哥. All rights reserved.
|
||||
//
|
||||
|
||||
#import "UICollectionViewLayout+MJRefresh.h"
|
||||
#import "MJRefreshConst.h"
|
||||
#import "MJRefreshFooter.h"
|
||||
#import "UIScrollView+MJRefresh.h"
|
||||
|
||||
@implementation UICollectionViewLayout (MJRefresh)
|
||||
|
||||
+ (void)load {
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
MJRefreshExchangeImplementations(self.class, @selector(finalizeCollectionViewUpdates),
|
||||
self.class, @selector(mj_finalizeCollectionViewUpdates));
|
||||
});
|
||||
}
|
||||
|
||||
- (void)mj_finalizeCollectionViewUpdates {
|
||||
[self mj_finalizeCollectionViewUpdates];
|
||||
|
||||
__kindof MJRefreshFooter *footer = self.collectionView.mj_footer;
|
||||
CGSize newSize = self.collectionViewContentSize;
|
||||
CGSize oldSize = self.collectionView.contentSize;
|
||||
if (footer != nil && !CGSizeEqualToSize(newSize, oldSize)) {
|
||||
NSDictionary *changed = @{
|
||||
NSKeyValueChangeNewKey: [NSValue valueWithCGSize:newSize],
|
||||
NSKeyValueChangeOldKey: [NSValue valueWithCGSize:oldSize],
|
||||
};
|
||||
[CATransaction begin];
|
||||
[CATransaction setDisableActions:YES];
|
||||
[footer scrollViewContentSizeDidChange:changed];
|
||||
[CATransaction commit];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user