Реагируйте на родной, shoutem / ui: навигация назад на NavigationBar не работает на iOS - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь заставить работать навигационную стрелку назад на shoutem / ui NavigationBar на iOS. Панель навигации выглядит следующим образом и работает на Android должным образом (при нажатии на стрелку происходит переход к определенному предопределенному виду):

Navigation bar

Соответствующий макет выглядит следующим образом:

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) навигационная панель отображается правильно, однако нажатие на нее ничего не делает. Не регистрируются ни события журнала, ни ошибки. Я предполагаю, что навигационная панель может как-то перекрываться каким-то другим элементом. Однако та же проблема существует с другими видами с другими элементами внутри сетки под панелью навигации. У кого-нибудь есть опыт решения этой проблемы? Какая наиболее вероятная причина и что я делаю не так?

1 Ответ

0 голосов
/ 07 мая 2018

«Без границ» styleName, примененное к NavigationBar, оказалось в этом случае нарушающим код. Замена на «встроенный» обошла проблему, добавив слегка различимую границу под панелью навигации. Однако это выглядит как ошибка, и в репозитории shoutem / ui GitHub была открыта следующая проблема: https://github.com/shoutem/ui/issues/398

...