iPadがRetinaディスプレイを持っているかどうかをプログラムで(Objective-C)どうすればできますか?iPadで網膜が表示されているかどうかをプログラムで検出しますか?
答えて
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && [[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [UIScreen mainScreen].scale > 1)
{
// new iPad
}
技術的には間違いなく、将来のすべてのiPadsについても真実を返す可能性が高いでしょう。 –
これは質問に答える(網膜ディスプレイを検出する)。しかし、実際にデバイスのバージョンを知る必要がある場合は、_all_デバイスを識別する答えについては、[here](http://stackoverflow.com/questions/9638970/ios-the-new-ipad-uidevicehardware-hw-machine-codename)を参照してください。 。 – bobobobo
これはiOS 7とiOS 8の両方で動作します。ありがとうございます! – imcc
他のポスターが回答したように、モデルではなく機能を確認する必要があります。ただし、特定のモデルを特定することが必要な場合は、hw.machine sysctrlを次のように使用できます。モデルを特定できない場合は、コードが新しいモデルで実行されている可能性が高いため、その場合は何か分かりやすいものを実行する必要があります。
#include <sys/types.h>
#include <sys/sysctl.h>
// Determine the machine name, e.g. "iPhone1,1".
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0); // Get size of data to be returned.
char *name = malloc(size);
sysctlbyname("hw.machine", name, &size, NULL, 0);
NSString *machine = [NSString stringWithCString:name encoding:NSASCIIStringEncoding];
free(name);
ここで、「機械」と既知の値を比較できます。たとえば、iPadを検出する(2012年3月)モデル:
if ([machine hasPrefix:@"iPad3,"]) NSLog(@"iPad (March 2012) detected");
私はすでにiPad(Retina)エミュレータで私のアプリをテストしていました。私は新しいiPadの新しい解決のために問題があると思ったが、私は全く間違っていた。とにかくおかげさまで、これは他の人には役に立ちます。 – Freedom
- 1. 網膜ディスプレイ上でうまく動作しない非網膜iPadアプリiPad
- 2. iPad上のウェブアプリ3網膜が遅いスクリーンペインティングを表示する
- 3. iPadがプログラムでSIMカードをサポートしているかどうかを検出
- 4. ツールチップが表示されているかどうかを検出しますか?
- 5. iPad 3網膜ディスプレイテスト? iPadなし3
- 6. アドレスバーがiOSで表示されているかどうかを検出する
- 7. 網膜に表示されていないと、選択したタブバーアイコンがぼやけて表示されます
- 8. xcodeで網膜シミュレータを作るにはどうすればいいですか
- 9. iPad 3の網膜ディスプレイのアプリをライオンなしで開発しますか?
- 10. キャンバス:ブラウザに表示されているかどうかを検出します。
- 11. iPadの網膜ディスプレイの黒い画面
- 12. オーバーレイが表示されているかどうかを検出する
- 13. どのようにCarrierWaveで網膜(iPad)フレンドリー(プログレッシブまたはインターレース)のJPEG画像を生成しますか?
- 14. iPadイメージが存在しない場合、網膜画像(@ 2x〜ipad)はロードされません(〜ipad)
- 15. Androidマルチウィンドウのサポート:ステータスバーが表示されているかどうかを検出していますか?
- 16. Google Chromeは、網膜以外の画像ではなく網膜の画像を表示します
- 17. UIButtonイメージを網膜上にきれいに表示する
- 18. 網膜2xの映画はどうですか?
- 19. サーバ側で網膜(HD)ディスプレイを検出する
- 20. MonoTouchで網膜ディスプレイを検出する方法
- 21. UIGraphicsGetImageFromCurrentImageContext()網膜解像度ですか?
- 22. 網膜ディスプレイのグラフィックがIPADのために機能しない
- 23. iPadの網膜にUIViewがスケーリングしない
- 24. iPadで網膜のkha-appを拡大する
- 25. MSMQが現在のシステムにインストールされているかどうかをプログラムで検出できますか。
- 26. サーバからの網膜画像が表のセルに正しく表示されない
- 27. Box2d座標系とPixel網膜表示
- 28. キャンバスのドローイングと網膜の表示:ドバイ?
- 29. 網膜の表示とスケーリングの問題
- 30. 384x384pxタイル表示384x384px on map(網膜)
どの言語を使用しますか? – BoltClock
なぜですか?一般的には、特定のデバイスではなく_features_を検出して調整する必要があります。 –
@BoltClock objective-c。 – Freedom