0

iOS 8 より前のバージョンの iOS では、デバイスが iPhone 5/iPhone 5s であるかどうかを確認するには、[UIScreen mainScreen].bounds.size.height == 568.0 を確認するだけで十分でした。ただし、iOS 8.x 以降では、境界が向きに依存するようになったため、このチェックが失敗する可能性があります。iOS のバージョンを確認せずに iPhone 5s、6、および 6+ デバイスを識別するソリューションが必要です。

4

2 に答える 2

1

かどうかを確認できます

[UIScreen mainScreen].bounds.size.height == 568.0   

iPhone 6および[UIScreen mainScreen].scale6+ の識別

アプリケーションが「ズーム」モードで動作している場合、これは機能しないことに注意してください。
この場合、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 に答える