Rob Terrell
Rob Terrell

Reputation: 2552

react-native-gesture-handler not working on ios

I have yarn installed react-native-gesture-handler,I then cd'd into ios and pod installed. I then reran the react-native run-ios and still when I swipe nothing happens whatsoever. Im getting zero errors it just doesn't swipe whatsoever. Am i doing something wrong? I have tried to remedy this situation anyway possible and It just doesn't seem to swipe no matter what.

my code is as follows:

import React, {useState} from 'react';
import {
  Platform,
  View,
  Text,
  StyleSheet,
  Image,
  TouchableOpacity,
  flatList,
} from 'react-native';
import Swipeable from 'react-native-gesture-handler/Swipeable';
const styles = StyleSheet.create({
  container: {
    padding: 20,
    flexDirection: 'row',
    backgroundColor: '#fff',
    justifyContent: 'space-between',
    alignItems: 'center',
  },
  text: {
    fontSize: 18,
    color: '#69696969',
  },
  icon: {
    height: 30,
    tintColor: '#69696969',

    ...Platform.select({
      ios: {
        tintColor: 'blue',
      },
      android: {
        tintColor: 'red',
      },
    }),
  },
  separator: {
    flex: 1,
    height: 1,
    backgroundColor: 'rgba(0, 0, 0, 0.2)',
  },
});

export const Separator = () => <View style={styles.separator} />;

const LeftAction = () => {
  <View>
    <Text>test</Text>
  </View>;
};

const ListItem = ({name, onFavoritePress}) => {
  const [isFavorite, setIsFavorite] = useState(false);
  let starIcon;
  if (isFavorite) {
    starIcon = Platform.select({
      ios: require('../assets/icons/ios-star.png'),
      android: require('../assets/icons/md-star.png'),
    });
  } else {
    starIcon = Platform.select({
      ios: require('../assets/icons/ios-star-outline.png'),
      android: require('../assets/icons/md-star-outline.png'),
    });
  }

  return (
    <Swipeable renderLeftActions={LeftAction}>
      <View style={styles.container}>
        <Text style={styles.text}>{name}</Text>
        {onFavoritePress && (
          <TouchableOpacity
            onPress={() => setIsFavorite((prevIsFavorite) => !prevIsFavorite)}>
            <Image style={styles.icon} resizeMode="contain" source={starIcon} />
          </TouchableOpacity>
        )}
      </View>
    </Swipeable>
  );
};

export default ListItem;

Upvotes: 2

Views: 2209

Answers (1)

Rupesh Chaudhari
Rupesh Chaudhari

Reputation: 308

You need to link RNGH to RN

run react-native link react-native-gesture-handler

if this doesn't work maybe you don't have cocoapads dependencies

to install it

run cd <your-ios-code-directory> && pod install

Upvotes: 1

Related Questions