Réagir Natif: Comment faire pour Déterminer si l'Appareil est un iPhone ou un iPad
Je sais à Réagir Indigènes que nous avons la capacité de déterminer si iOS ou Android est en cours d'exécution à l'aide de la Platform
module, mais comment pouvons-nous déterminer ce dispositif est utilisé sur iOS?
Vous devez vous connecter pour publier un commentaire.
De 9.02.2018 il est également
L'esprit que (dès maintenant) il n'a pas d'homologue android.
Approche la plus simple sera d'utiliser le ratio d'aspect. Le code sera:
Ratio d'Aspect de l'iPad est de 4:3 (1.334) et le ratio d'aspect de l'iPhone est de 16:9 (1.778)
Assurez-vous de vérifier si vous êtes sur un appareil iOS à l'aide de
Platform.OS === 'ios'
méthode avant d'appliquer la logique ci-dessus.Si vous êtes à la recherche d'un moyen de le faire sans y compris 3ème partie les bibliothèques (comme réagir-native-appareil-info) vous pouvez aussi le faire:
deviceType
peut prendre les valeurs:phone
,pad
,tv
,carplay
etunknown
.Vous pouvez à peu près déterminer quel appareil iOS est utilisé sans dépendances externes... Première requête
Platform.OS
puis le Dimensions module vous permet d'interroger l'appareil pour dimensions de l'écran qui peut se traduire par des dispositifs: http://iosres.com/Vous devriez être en mesure d'obtenir cette information à partir du module
react-native-device-info
https://github.com/rebeccahughes/react-native-device-info
Il y a un type dans réagissent-natif appelé
PlatformIOSStatic
, vous avez besoin de force-castPlatform
àPlatformIOSStatic
si l'utilisation de la machine.La conception de l'interface ici est assez mauvais, l'espoir RN équipe de l'améliorer.
Une bonne solution par @Maxwelll.
Une mesure plus précise de l'approche serait de mesurer le ratio de l'écran.
Tous les iPhones sont en 16:9, tous les iPads sont 3:4.