Как исправить странное поведение значка, завернутого в TouchableOpacity?

У меня есть MapView, внутри которого у меня есть фиксированный рынок, на котором пользователь может перетаскивать карту и устанавливать текущее местоположение, кнопка для сохранения изменений и значок, завернутый в сенсорную непрозрачность, для установки текущего местоположения. Моя проблема в том, что иногда значок внутри обертки TouchableOpacity появляется в правом верхнем углу.

Как исправить странное поведение значка, завернутого в TouchableOpacity?

код для MapView

        <Modal
          animationType = "slide"
          transparent = {false}
          visible = {modalVisible}
          onRequestClose = {() => { }}
        >
          <MapView
            style = {styles.map}
            onRegionChangeComplete = {this.onRegionChange}
            initialRegion = {region || initialCoordinates}
            ref = {(el) => { this.mapViewModal = el }}
          >
            <View pointerEvents = "none" style = {[styles.markerFixed, { marginBottom: 52 }]}>
              <Ionicons style = {styles.marker} pointerEvents = "none" name = "ios-pin" size = {72} />
            </View>
            <TouchableOpacity onPress = {this.setMapCurrentLocation} style = {styles.arrowWrapper}>
              <FontAwesome name = "location-arrow" style = {styles.locationArrow} size = {42} />
            </TouchableOpacity>
          </MapView>
          <View style = {styles.mapButtonWrapper}>
            <RkButton
              style = {styles.mapButton}
              onPress = {this.handleAdjustClick}
            >
              {i18n.t('Adjust')}
            </RkButton>
          </View>
        </Modal>

стили:

 arrowWrapper: {
    position: 'absolute',
    backgroundColor: 'white',
    borderRadius: 100,
    textAlign: 'center',
    width: 50,
    height: 50,
    padding: 5,
    right: 10,
    bottom: 75,
    justifyContent: 'flex-end',
    alignItems: 'flex-end'
  },
  locationArrow: {
    color: primaryColor,
    alignSelf: 'center'
  },

Кто-нибудь знает, как это исправить?

Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
0
0
317
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Исправлено путем перемещения TouchableOpacity из MapView и переноса в View:

  <Modal
      animationType = "slide"
      transparent = {false}
      visible = {modalVisible}
      onRequestClose = {() => { }}
    >
      <MapView
        style = {styles.map}
        onRegionChangeComplete = {this.onRegionChange}
        initialRegion = {region || initialCoordinates}
        ref = {(el) => { this.mapViewModal = el }}
      >
        <View pointerEvents = "none" style = {[styles.markerFixed, { marginBottom: 52 }]}>
          <Ionicons style = {styles.marker} pointerEvents = "none" name = "ios-pin" size = {72} />
        </View>
      </MapView>
      <View style = {styles.arrowWrapper}>
        <TouchableOpacity onPress = {this.setMapCurrentLocation}>
          <FontAwesome name = "location-arrow" style = {styles.locationArrow} size = {42} />
        </TouchableOpacity>
      </View>
      <View style = {styles.mapButtonWrapper}>
        <RkButton
          style = {styles.mapButton}
          onPress = {this.handleAdjustClick}
        >
          {i18n.t('Adjust')}
        </RkButton>
      </View>
    </Modal>

Другие вопросы по теме