forked from wix/react-native-navigation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAnimatedTextView.m
32 lines (26 loc) · 997 Bytes
/
AnimatedTextView.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#import "AnimatedTextView.h"
@implementation AnimatedTextView {
NSTextContainer* _fromTextContainer;
CGSize _fromSize;
}
- (instancetype)initElement:(UIView *)element toElement:(UIView *)toElement transitionOptions:(SharedElementTransitionOptions *)transitionOptions {
self = [super initElement:element toElement:toElement transitionOptions:transitionOptions];
_fromTextStorage = [element valueForKey:@"textStorage"];
_toTextStorage = [toElement valueForKey:@"textStorage"];
_fromTextContainer = [self container:_fromTextStorage];
_fromSize = _fromTextContainer.size;
return self;
}
- (void)layoutSubviews {
[super layoutSubviews];
_fromTextContainer.size = self.bounds.size;
self.reactView.frame = self.bounds;
}
- (void)reset {
[super reset];
_fromTextContainer.size = _fromSize;
}
- (NSTextContainer *)container:(NSTextStorage *)fromTextStorage {
return fromTextStorage.layoutManagers.firstObject.textContainers.firstObject;
}
@end