2016-05-20 11 views
4

私のリアクションネイティブアプリケーションをiphone 6または6sで表示すると、コンポーネントの一部が異なるサイズでレンダリングされるか、これらの状態の間に表示されたりちらついたりしません。私のコンポーネントのスタイリングは、私のiOSアプリケーションに一貫レンダリングすることを確保するための最善のアプローチは何ですか(私のデバイスのオフスクリーンショットとして撮影した)borderWidth: StyleSheet.hairlineWidth次の画像 borderWidth: .3borderWidth: .3リアクションネイティブのコンポーネントスタイリングがアプリケーション内で一貫してレンダリングされない

を参照してください?

UPDATE:この問題はのみborderWidthに関係しない ...私はViewコンポーネント、backgroundColorheight:1と私のデバイス上で再現することができました。これは、問題をレンダリング精度の損失かもしれ

+0

私はPixelRatioコンポーネントに基づいて幅を動的に調整しようとしました。https://facebook.github.io/react-native/docs/pixelratio.htmlしかし、6plusと6splusの両方が3の同じ比率を共有します。 6プラスはさまざまな幅をレンダリングするデバイスです) – Maxwelll

+0

あなたのシミュレータはズームインされていますか?スケールダウンしたシミュレータでも同じことが起こりますが、スケーリングせずに正常に動作しています。 – halilb

+0

この問題はデバイスで発生します。あなたのデバイス上で実行して表示するにはhttps://rnplay.org/apps/xUYNIQ – Maxwelll

答えて

1

(エミュレータに見える発行することは、私は私のiphone6に自分のアプリケーションに持っています同じ問題です)https://rnplay.org/apps/xUYNIQ

は、ここに基本的な例を参照してください。

私はこのような問題に陥ってしまいました。さまざまなデバイスのスタイルを変換する関数が書かれました。奇妙なことが起きました。bottomBorderは太字になります。

PixelRatioは、デバイスピクセル比情報、Dimensions GETデバイスの幅と高さを取得しますが、Appleデバイスのデータに等しいDimensions.get('window').width * PixelRatio.get()ありません。

私がPixelRatioを使用する前に、それをparseInt(PixelRatio)に変更しても問題ありませんが、iPhone 6と6plusのコンポーネントは小さくなります。

+0

私はあなたに本当に感謝しています@ Oboo Chin私は、さまざまな問題...私のアプリケーション内では、同じコンポーネントがさまざまなサイズでレンダリングされています。私はコンポーネントがデバイス間で異なって見えるという事実を理解していますが、アプリケーション内で異なるサイズでちらつきやレンダリングをしてはいけません。 – Maxwelll

+0

@MaxwellLasky私のプロジェクトにコードをコピーすると、iPhone 5sシミュレータとiPod touch 5でうまくいきます.3/1モードのときにiPhone 6sとシミュレータでこれを再現できます。[デモ]( https://rnplay.org/apps/KTYjTA) 'height'プロパティを1/2/3に変更しても、それは異なった動作をします。 'height'プロパティをint偶数に変更して100%サイズシミュレータまたは実デバイス? –

+0

この問題は私のiphone6で発生します... – Maxwelll

関連する問題