Revert D15896806: [react-native][PR] Native Animated - Support events using RCT{Direct|Bubbling}EventBlock on iOS
Differential Revision: D15896806 Original commit changeset: c0ae463f4c3f fbshipit-source-id: be534e8abe5fa0d7afb4f05012f32db00774fc65
This commit is contained in:
Родитель
083f835c9f
Коммит
0f03086e72
|
@ -28,21 +28,6 @@
|
|||
#import "RCTValueAnimatedNode.h"
|
||||
#import "RCTTrackingAnimatedNode.h"
|
||||
|
||||
// We do some normalizing of the event names in RCTEventDispatcher#RCTNormalizeInputEventName.
|
||||
// To make things simpler just get rid of the parts we change in the event names we use here.
|
||||
// This is a lot easier than trying to denormalize because there would be multiple possible
|
||||
// denormalized forms for a single input.
|
||||
NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
|
||||
{
|
||||
if ([eventName hasPrefix:@"on"]) {
|
||||
return [eventName substringFromIndex:2];
|
||||
}
|
||||
if ([eventName hasPrefix:@"top"]) {
|
||||
return [eventName substringFromIndex:3];
|
||||
}
|
||||
return eventName;
|
||||
}
|
||||
|
||||
@implementation RCTNativeAnimatedNodesManager
|
||||
{
|
||||
__weak RCTBridge *_bridge;
|
||||
|
@ -336,7 +321,7 @@ NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
|
|||
RCTEventAnimation *driver =
|
||||
[[RCTEventAnimation alloc] initWithEventPath:eventPath valueNode:(RCTValueAnimatedNode *)node];
|
||||
|
||||
NSString *key = [NSString stringWithFormat:@"%@%@", viewTag, RCTNormalizeAnimatedEventName(eventName)];
|
||||
NSString *key = [NSString stringWithFormat:@"%@%@", viewTag, eventName];
|
||||
if (_eventDrivers[key] != nil) {
|
||||
[_eventDrivers[key] addObject:driver];
|
||||
} else {
|
||||
|
@ -350,7 +335,7 @@ NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
|
|||
eventName:(nonnull NSString *)eventName
|
||||
animatedNodeTag:(nonnull NSNumber *)animatedNodeTag
|
||||
{
|
||||
NSString *key = [NSString stringWithFormat:@"%@%@", viewTag, RCTNormalizeAnimatedEventName(eventName)];
|
||||
NSString *key = [NSString stringWithFormat:@"%@%@", viewTag, eventName];
|
||||
if (_eventDrivers[key] != nil) {
|
||||
if (_eventDrivers[key].count == 1) {
|
||||
[_eventDrivers removeObjectForKey:key];
|
||||
|
@ -372,7 +357,7 @@ NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
|
|||
return;
|
||||
}
|
||||
|
||||
NSString *key = [NSString stringWithFormat:@"%@%@", event.viewTag, RCTNormalizeAnimatedEventName(event.eventName)];
|
||||
NSString *key = [NSString stringWithFormat:@"%@%@", event.viewTag, event.eventName];
|
||||
NSMutableArray<RCTEventAnimation *> *driversForKey = _eventDrivers[key];
|
||||
if (driversForKey) {
|
||||
for (RCTEventAnimation *driver in driversForKey) {
|
||||
|
|
|
@ -221,7 +221,7 @@ class InternalSettings extends React.Component<
|
|||
|
||||
class EventExample extends React.Component<{}, $FlowFixMeState> {
|
||||
state = {
|
||||
anim: new Animated.Value(0),
|
||||
scrollX: new Animated.Value(0),
|
||||
};
|
||||
|
||||
render() {
|
||||
|
@ -233,7 +233,7 @@ class EventExample extends React.Component<{}, $FlowFixMeState> {
|
|||
{
|
||||
transform: [
|
||||
{
|
||||
rotate: this.state.anim.interpolate({
|
||||
rotate: this.state.scrollX.interpolate({
|
||||
inputRange: [0, 1],
|
||||
outputRange: ['0deg', '1deg'],
|
||||
}),
|
||||
|
@ -246,7 +246,7 @@ class EventExample extends React.Component<{}, $FlowFixMeState> {
|
|||
horizontal
|
||||
style={{height: 100, marginTop: 16}}
|
||||
onScroll={Animated.event(
|
||||
[{nativeEvent: {contentOffset: {x: this.state.anim}}}],
|
||||
[{nativeEvent: {contentOffset: {x: this.state.scrollX}}}],
|
||||
{useNativeDriver: true},
|
||||
)}>
|
||||
<View
|
||||
|
@ -259,13 +259,6 @@ class EventExample extends React.Component<{}, $FlowFixMeState> {
|
|||
<Text>Scroll me sideways!</Text>
|
||||
</View>
|
||||
</Animated.ScrollView>
|
||||
<AnimatedSlider
|
||||
maximumValue={200}
|
||||
onValueChange={Animated.event(
|
||||
[{nativeEvent: {value: this.state.anim}}],
|
||||
{useNativeDriver: true},
|
||||
)}
|
||||
/>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче