12345678910111213141516171819202122232425262728293031323334353637 |
- #import "RNNScreenTransition.h"
-
- @implementation RNNScreenTransition
-
- - (instancetype)initWithDict:(NSDictionary *)dict {
- self = [super init];
-
- self.topBar = [[RNNElementTransitionOptions alloc] initWithDict:dict[@"topBar"]];
- self.content = [[RNNElementTransitionOptions alloc] initWithDict:dict[@"content"]];
- self.bottomTabs = [[RNNElementTransitionOptions alloc] initWithDict:dict[@"bottomTabs"]];
- self.enable = [BoolParser parse:dict key:@"enabled"];
- self.waitForRender = [BoolParser parse:dict key:@"waitForRender"];
-
- return self;
- }
-
- - (BOOL)hasCustomAnimation {
- return (self.topBar.hasAnimation || self.content.hasAnimation || self.bottomTabs.hasAnimation);
- }
-
- - (double)maxDuration {
- double maxDuration = 0;
- if ([self.topBar maxDuration] > 0) {
- maxDuration = [self.topBar maxDuration];
- }
- if ([self.content maxDuration] > 0) {
- maxDuration = [self.content maxDuration];
- }
- if ([self.bottomTabs maxDuration] > 0) {
- maxDuration = [self.bottomTabs maxDuration];
- }
-
- return maxDuration;
- }
-
- @end
|