Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Texto por cima do StatusBar e não por cima da imagem no IOS

Boa tarde!

O texto "Detalhe da Cesta" aparece no StatusBar e não por cima da imagem, em dispositivos IOS.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Código App.js:

import React from 'react';
import { StatusBar, SafeAreaView } from 'react-native';

import Cesta from './src/telas/Cesta';

export default function App() {
  return (
    <SafeAreaView>
      <StatusBar />
      <Cesta />
    </SafeAreaView>
  );
}

Código Cesta.js

import React from 'react';
import { StyleSheet, Image, Dimensions, Text } from 'react-native';

import topo from '../../assets/topo.png';

const width = Dimensions.get('screen').width;

export default function Cesta() {
    return <>
        <Image source={topo} style={estilos.topo} />
        <Text style={estilos.titulo}>Detalhe da Cesta</Text>
    </>   
}

const estilos = StyleSheet.create({
    topo: {
        width: "100%",
        height: 578 / 768 * width,
    },
    titulo: {
        width: "100%",
        position: "absolute",
        textAlign: "center",
        fontSize: 16,
        lineHeight: 26,
        //color: "white",
        fontWeight: "bold",
        padding: 16
    }
});
1 resposta
solução!

Olá João!

O código que você está fazendo não está errado.

Neste caso o que acontece é que o position: "absolute" do título está sendo referenciado ao SafeAreaView, pois a cesta não tem um componente englobando seu conteúdo, apenas um fragmento. Como a SafeAreaView começa bem no topo da tela, o texto absoluto está aparecendo lá.

No decorrer do curso vamos adicionar mais componentes na cesta e este problema será resolvido. Mas caso queira que ele se solucione imediatamente, basta trocar o fragmento (<>...</>) por uma View (<View>...</View>).

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!