From 3c9d66db1ad44d7dac5ac94d57e4bff6749a9d94 Mon Sep 17 00:00:00 2001 From: "pengfei.zhou" Date: Tue, 19 Nov 2019 16:23:51 +0800 Subject: [PATCH] feat:add slider in iOS --- iOS/Pod/Classes/DoricRegistry.m | 4 ++ iOS/Pod/Classes/Shader/DoricScrollerNode.h | 6 +++ iOS/Pod/Classes/Shader/DoricScrollerNode.m | 6 +++ iOS/Pod/Classes/Shader/DoricSlideItemNode.h | 26 ++++++++++++ iOS/Pod/Classes/Shader/DoricSlideItemNode.m | 47 +++++++++++++++++++++ iOS/Pod/Classes/Shader/DoricSliderNode.h | 27 ++++++++++++ iOS/Pod/Classes/Shader/DoricSliderNode.m | 28 ++++++++++++ 7 files changed, 144 insertions(+) create mode 100644 iOS/Pod/Classes/Shader/DoricSlideItemNode.h create mode 100644 iOS/Pod/Classes/Shader/DoricSlideItemNode.m create mode 100644 iOS/Pod/Classes/Shader/DoricSliderNode.h create mode 100644 iOS/Pod/Classes/Shader/DoricSliderNode.m diff --git a/iOS/Pod/Classes/DoricRegistry.m b/iOS/Pod/Classes/DoricRegistry.m index aad88e40..44334ace 100644 --- a/iOS/Pod/Classes/DoricRegistry.m +++ b/iOS/Pod/Classes/DoricRegistry.m @@ -31,6 +31,8 @@ #import "DoricListNode.h" #import "DoricListItemNode.h" #import "DoricScrollerNode.h" +#import "DoricSliderNode.h" +#import "DoricSlideItemNode.h" @interface DoricRegistry () @@ -64,6 +66,8 @@ - (void)innerRegister { [self registerViewNode:DoricListNode.class withName:@"List"]; [self registerViewNode:DoricListItemNode.class withName:@"ListItem"]; [self registerViewNode:DoricScrollerNode.class withName:@"Scroller"]; + [self registerViewNode:DoricSliderNode.class withName:@"Slider"]; + [self registerViewNode:DoricSlideItemNode.class withName:@"SlideItem"]; } - (void)registerJSBundle:(NSString *)bundle withName:(NSString *)name { diff --git a/iOS/Pod/Classes/Shader/DoricScrollerNode.h b/iOS/Pod/Classes/Shader/DoricScrollerNode.h index a6120ef0..c1184e41 100644 --- a/iOS/Pod/Classes/Shader/DoricScrollerNode.h +++ b/iOS/Pod/Classes/Shader/DoricScrollerNode.h @@ -13,6 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +// +// DoricScrollerNode.h +// Doric +// +// Created by pengfei.zhou on 2019/11/19. +// #import #import "DoricSuperNode.h" diff --git a/iOS/Pod/Classes/Shader/DoricScrollerNode.m b/iOS/Pod/Classes/Shader/DoricScrollerNode.m index e0a36e55..2f0900c0 100644 --- a/iOS/Pod/Classes/Shader/DoricScrollerNode.m +++ b/iOS/Pod/Classes/Shader/DoricScrollerNode.m @@ -13,6 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +// +// DoricScrollerNode.m +// Doric +// +// Created by pengfei.zhou on 2019/11/19. +// #import "DoricScrollerNode.h" #import "DoricExtensions.h" diff --git a/iOS/Pod/Classes/Shader/DoricSlideItemNode.h b/iOS/Pod/Classes/Shader/DoricSlideItemNode.h new file mode 100644 index 00000000..195c173c --- /dev/null +++ b/iOS/Pod/Classes/Shader/DoricSlideItemNode.h @@ -0,0 +1,26 @@ +/* + * Copyright [2019] [Doric.Pub] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// +// DoricSlideItemNode.h +// Doric +// +// Created by pengfei.zhou on 2019/11/19. +// +#import +#import "DoricStackNode.h" + +@interface DoricSlideItemNode : DoricStackNode +@end diff --git a/iOS/Pod/Classes/Shader/DoricSlideItemNode.m b/iOS/Pod/Classes/Shader/DoricSlideItemNode.m new file mode 100644 index 00000000..ff840a5c --- /dev/null +++ b/iOS/Pod/Classes/Shader/DoricSlideItemNode.m @@ -0,0 +1,47 @@ +/* + * Copyright [2019] [Doric.Pub] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// +// DoricSlideItemNode.m +// Doric +// +// Created by pengfei.zhou on 2019/11/19. +// +#import "DoricSlideItemNode.h" + +@interface DoricSlideItemView : DoricStackView +@end + +@implementation DoricSlideItemView +@end + +@implementation DoricSlideItemNode + +- (instancetype)initWithContext:(DoricContext *)doricContext { + if (self = [super initWithContext:doricContext]) { + self.reusable = YES; + } + return self; +} + +- (void)initWithSuperNode:(DoricSuperNode *)superNode { + [super initWithSuperNode:superNode]; + self.reusable = YES; +} + +- (DoricStackView *)build { + return [DoricSlideItemView new]; +} +@end \ No newline at end of file diff --git a/iOS/Pod/Classes/Shader/DoricSliderNode.h b/iOS/Pod/Classes/Shader/DoricSliderNode.h new file mode 100644 index 00000000..61da6935 --- /dev/null +++ b/iOS/Pod/Classes/Shader/DoricSliderNode.h @@ -0,0 +1,27 @@ +/* + * Copyright [2019] [Doric.Pub] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// +// DoricSliderNode.h +// Doric +// +// Created by pengfei.zhou on 2019/11/19. +// +#import + +#import "DoricSuperNode.h" + +@interface DoricSliderNode : DoricSuperNode +@end \ No newline at end of file diff --git a/iOS/Pod/Classes/Shader/DoricSliderNode.m b/iOS/Pod/Classes/Shader/DoricSliderNode.m new file mode 100644 index 00000000..98c49081 --- /dev/null +++ b/iOS/Pod/Classes/Shader/DoricSliderNode.m @@ -0,0 +1,28 @@ +/* + * Copyright [2019] [Doric.Pub] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// +// DoricSliderNode.m +// Doric +// +// Created by pengfei.zhou on 2019/11/19. +// +#import "DoricSliderNode.h" + + +@implementation DoricSliderNode { + +} +@end \ No newline at end of file