feat:iOS implement coordinator plugin

This commit is contained in:
pengfei.zhou
2020-02-13 22:18:13 +08:00
committed by osborn
parent 630ec51504
commit 6bf61b3769
15 changed files with 226 additions and 24 deletions

View File

@@ -19,8 +19,8 @@
#import <Foundation/Foundation.h>
#import "DoricSuperNode.h"
#import "DoricScrollViewDelegate.h"
#import "DoricScrollableProtocol.h"
@interface DoricFlowLayoutNode : DoricSuperNode<UICollectionView *>
@property(nonatomic, weak, nullable) id <DoricScrollViewDelegate> delegate;
@interface DoricFlowLayoutNode : DoricSuperNode<UICollectionView *> <DoricScrollableProtocol>
@property(nonatomic, strong, nullable) void (^didScrollListener)(UIScrollView *__nonnull scrollView);
@end

View File

@@ -370,6 +370,8 @@ - (NSInteger)doricFlowLayoutColumnCount {
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
[self.delegate scrollViewDidScroll:scrollView];
if (self.didScrollListener) {
self.didScrollListener(scrollView);
}
}
@end

View File

@@ -19,8 +19,8 @@
#import <Foundation/Foundation.h>
#import "DoricSuperNode.h"
#import "DoricScrollViewDelegate.h"
#import "DoricScrollableProtocol.h"
@interface DoricListNode : DoricSuperNode<UITableView *>
@property(nonatomic, weak, nullable) id <DoricScrollViewDelegate> delegate;
@interface DoricListNode : DoricSuperNode<UITableView *> <DoricScrollableProtocol>
@property(nonatomic, strong, nullable) void (^didScrollListener)(UIScrollView *__nonnull scrollView);
@end

View File

@@ -250,6 +250,8 @@ - (DoricViewNode *)subNodeWithViewId:(NSString *)viewId {
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
[self.delegate scrollViewDidScroll:scrollView];
if (self.didScrollListener) {
self.didScrollListener(scrollView);
}
}
@end

View File

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

View File

@@ -124,7 +124,10 @@ - (DoricViewNode *)subNodeWithViewId:(NSString *)viewId {
}
return nil;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
[self.delegate scrollViewDidScroll:scrollView];
if (self.didScrollListener) {
self.didScrollListener(scrollView);
}
}
@end