Я пытаюсь заставить работать навигационную стрелку назад на shoutem / ui NavigationBar на iOS. Панель навигации выглядит следующим образом и работает на Android должным образом (при нажатии на стрелку происходит переход к определенному предопределенному виду):
Соответствующий макет выглядит следующим образом:
import {
Text,
Button,
View,
Image,
Divider,
Spinner,
NavigationBar,
Caption
} from '@shoutem/ui';
render() {
const {navigate} = this.props.navigation;
if (this.state.submitted && this.props.loading) {
return (
<Spinner style={{
flex: 1,
justifyContent: 'center',
alignItems: 'center'
}} />
);
}
return (
<Container style={{ flex: 1, backgroundColor: '#ffffff' }}>
<Content>
<NavigationBar
styleName='no-border'
hasHistory
navigateBack={() => navigate('WelcomeScreen')}
/>
<Grid>
<Row style={{ height: 100, justifyContent: 'center', alignItems: 'center', paddingTop: 100 }}>
<Image
style={{ width: 96, height: 89 }}
source={require('../login-logo.png')}
blurRadius={1} />
</Row>
//some other rows and columns
</Grid>
</Content>
</Container>
);
}
}
На Android следующее работает как положено. На iOS (симулятор Xcode) навигационная панель отображается правильно, однако нажатие на нее ничего не делает. Не регистрируются ни события журнала, ни ошибки. Я предполагаю, что навигационная панель может как-то перекрываться каким-то другим элементом. Однако та же проблема существует с другими видами с другими элементами внутри сетки под панелью навигации. У кого-нибудь есть опыт решения этой проблемы? Какая наиболее вероятная причина и что я делаю не так?