приложение React Native имеет другой стиль в iOS и Android

Один и тот же код приводит к разным стилям в iOS и Android. Версия для Android - это та, на которую она должна быть похожа, но то же самое в iOS выглядит полностью разрушенной.

Это приложение уже разработано, но никогда не запускается на iOS, вероятно, им это не нужно. но теперь он должен быть выпущен и для ios. Как я могу достичь того же результата с наименьшим количеством рефакторинга?

введите описание изображения здесь

код поля ввода для ФИО;

     <View style={inputFieldContainerStyle}>
        <Icon source={usernameIcon} />
        <TextInput
          style={[inputFieldStyle, textInputTextStyle]}
          onChangeText={(text) => this.setState({name: text})}
          accessibilityLabel="name"
          editable={true}
          value={this.state.name}
          placeholder={'First and last name'}
          placeholderTextColor="grey"
          autoCorrect={false}
          label="field1"
          ref={(input) => {
            this.inputs.field1 = input;
          }}
          returnKeyType={'next'}
          onSubmitEditing={() => {
            this.focusTheField('field2');
          }}
          textContentType="name"
        />
      </View>
inputFieldContainerStyle: {
  flexDirection: 'row',
  justifyContent: 'center',
  alignItems: 'center',
  marginBottom: 15,
  height: 40,
},
inputFieldStyle: {
  backgroundColor: 'white',
  flex: 1,
  paddingLeft: 10,
  paddingRight: 10,
},
textInputTextStyle:{
  color: 'black',
  fontSize: 16,
  fontFamily: 'HelveticaNeue',
}
// THE Icon COMPONENT
<View style={[containerStyle, secondaryContainerStyle && secondaryContainerStyle]}>
  <Image source={source} style={[iconStyle, secondaryIconStyle && secondaryIconStyle]} />
</View>

person Amir-Mousavi    schedule 23.06.2020    source источник
comment
Вы пробовали inputFieldContainerStyle flex: 1;   -  person Elango    schedule 23.06.2020
comment
в 'textInputTextStyle' укажите 'paddingVertical: 10'   -  person Imran    schedule 23.06.2020


Ответы (1)


Вы можете использовать такой условный стиль:

textInputTextStyle:{
  color: 'black',
  fontSize: 16,
  fontFamily: 'HelveticaNeue',
  padding: Platform.os === 'ios'? 10: null
}

Я не уверен насчет заполнения, но это просто пример стиля в зависимости от платформы.

person B. Mohammad    schedule 23.06.2020