iOS 8 より前のバージョンの iOS では、デバイスが iPhone 5/iPhone 5s であるかどうかを確認するには、[UIScreen mainScreen].bounds.size.height == 568.0 を確認するだけで十分でした。ただし、iOS 8.x 以降では、境界が向きに依存するようになったため、このチェックが失敗する可能性があります。iOS のバージョンを確認せずに iPhone 5s、6、および 6+ デバイスを識別するソリューションが必要です。
2 に答える
1
かどうかを確認できます
[UIScreen mainScreen].bounds.size.height == 568.0
iPhone 6および[UIScreen mainScreen].scale
6+ の識別
アプリケーションが「ズーム」モードで動作している場合、これは機能しないことに注意してください。
この場合、iPhone 6 および 6+ はスケール 2.0 になります。
于 2014-11-11T08:16:51.477 に答える
0
次のマクロを使用してデバイスを検出できました。これは、ビューの更新を実行するためにデバイスを識別したい場合に役立ちます (向きの変更でフレームを更新するなど)。デバイス モデル/メーカーが正確に必要な場合は、代わりにこのリンク ( ios iphone get device model and make? ) を使用してください。
#define IS_IPHONE ((int)(MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)) == 480)
#define IS_IPHONE5 ((int)(MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)) == 568)
#define IS_IPHONE6 ((int)(MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)) == 667)
#define IS_IPHONE6PLUS ((int)(MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)) == 736)
于 2014-11-11T08:47:01.767 に答える