Как получить высоту строки состояния iOS в приложении React-Native?

Я знаю, что могу использовать StatusBar.currentHeight для Android, но не знаю, как это сделать для iOS.

Ответ на вопрос, как получить размер в Swift (native), уже был дан, но мне это нужно в родном приложении для реагирования.


person jasan    schedule 12.06.2017    source источник
comment
Возможный дубликат высоты строки состояния в swift   -  person LinusGeffarth    schedule 12.06.2017
comment
Похоже, для этого вам понадобится код слушателя, который был любезно сделан здесь: github.com/jgkim/react-native-status-bar-size. Вы можете использовать методы, найденные в StatusBarSizeIOS.js, или просто установить пакет.   -  person G0dsquad    schedule 12.06.2017
comment
Строка состояния iOS всегда имеет высоту 20 пикселей, поэтому вы можете добавлять статически   -  person vivek bhoraniya    schedule 12.06.2017
comment
это высота 20px для всех устройств iOS? Айпады, айфоны похожи?   -  person jasan    schedule 12.06.2017
comment
Пиксель плотности 20 — это высота, которую вы ищете. `const style = StyleSheet.create({container: {height: 20} }). React Native адаптирует dp к нужному размеру в зависимости от разрешения. Si он должен подходить для всех мобильных устройств   -  person Alexandre Rivest    schedule 13.06.2017
comment
20 не подходит для iPhone X.   -  person blacksun    schedule 22.09.2017
comment
Я использую 45 для iPhone X   -  person NinetyHH    schedule 25.09.2017
comment
Я думаю, что это должно быть частью StatusBar в целом.   -  person rodrigoelp    schedule 22.12.2017


Ответы (2)


Вы можете использовать React Navigation, которые уже поддерживают iPhone X.

Даже если вы по какой-то причине не хотите использовать эту библиотеку - вы все равно можете прочитать исходный код, чтобы скопировать реализацию в свой код.

person Oleksandr Cherniavenko    schedule 21.02.2018
comment
React Navigation поддерживает экраны с надрезами. Вот подробный документ. В нем говорится, что информацию об устройстве можно получить с помощью react-native-device-info - person Runryan; 29.04.2019

Вы можете использовать этот пакет, у него очень хорошая документация. react-native-status-bar-height

person Cyber    schedule 26.07.2019