iOS:add ScrollViewDelegate for scroller,list and flowlayout

This commit is contained in:
pengfei.zhou 2020-02-13 15:36:01 +08:00 committed by osborn
parent 9086b6b13d
commit 565998c763
8 changed files with 28 additions and 2 deletions

View File

@ -29,3 +29,4 @@
#import "DoricLibrary.h"
#import "DoricNativePlugin.h"
#import "DoricMonitorProtocol.h"
#import "DoricScrollViewDelegate.h"

View File

@ -0,0 +1,9 @@
//
// Created by pengfei.zhou on 2020/2/13.
//
#import <Foundation/Foundation.h>
@protocol DoricScrollViewDelegate <NSObject>
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
@end

View File

@ -19,6 +19,8 @@
#import <Foundation/Foundation.h>
#import "DoricSuperNode.h"
#import "DoricScrollViewDelegate.h"
@interface DoricFlowLayoutNode : DoricSuperNode<UICollectionView *>
@property(nonatomic, weak, nullable) id <DoricScrollViewDelegate> delegate;
@end

View File

@ -369,4 +369,7 @@ - (NSInteger)doricFlowLayoutColumnCount {
return self.columnCount;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
[self.delegate scrollViewDidScroll:scrollView];
}
@end

View File

@ -19,6 +19,8 @@
#import <Foundation/Foundation.h>
#import "DoricSuperNode.h"
#import "DoricScrollViewDelegate.h"
@interface DoricListNode : DoricSuperNode<UITableView *>
@property(nonatomic, weak, nullable) id <DoricScrollViewDelegate> delegate;
@end

View File

@ -249,4 +249,7 @@ - (DoricViewNode *)subNodeWithViewId:(NSString *)viewId {
return ret;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
[self.delegate scrollViewDidScroll:scrollView];
}
@end

View File

@ -21,10 +21,12 @@
//
#import <Foundation/Foundation.h>
#import "DoricSuperNode.h"
#import "DoricScrollViewDelegate.h"
@interface DoricScrollView : UIScrollView
@property(nonatomic, strong) UIView *contentView;
@end
@interface DoricScrollerNode : DoricSuperNode<DoricScrollView *>
@property(nonatomic, weak, nullable) id <DoricScrollViewDelegate> delegate;
@end

View File

@ -47,7 +47,7 @@ - (void)layoutSelf:(CGSize)targetSize {
@end
@interface DoricScrollerNode ()
@interface DoricScrollerNode () <UIScrollViewDelegate>
@property(nonatomic, strong) DoricViewNode *childNode;
@property(nonatomic, copy) NSString *childViewId;
@end
@ -55,6 +55,7 @@ @interface DoricScrollerNode ()
@implementation DoricScrollerNode
- (DoricScrollView *)build {
return [[DoricScrollView new] also:^(DoricScrollView *it) {
it.delegate = self;
if (@available(iOS 11, *)) {
it.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
@ -123,4 +124,7 @@ - (DoricViewNode *)subNodeWithViewId:(NSString *)viewId {
}
return nil;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
[self.delegate scrollViewDidScroll:scrollView];
}
@end