私は通常のipadの10インチの画面ではほとんど受け入れられていないいくつかの非常に小さなタッチポイントでipadアプリを持っています。私はデバイスのdpiを取得して、ミニのための小さな要素のサイズを拡大することができるようにしたいと思います。あなたがプログラムでこれを取得することはできませんので、あなたのコード内の定数として保存する必要がありますipad miniでdpiを検出するにはどうすればよいですか?
http://www.apple.com/ipad-mini/specs/
:
私は通常のipadの10インチの画面ではほとんど受け入れられていないいくつかの非常に小さなタッチポイントでipadアプリを持っています。私はデバイスのdpiを取得して、ミニのための小さな要素のサイズを拡大することができるようにしたいと思います。あなたがプログラムでこれを取得することはできませんので、あなたのコード内の定数として保存する必要がありますipad miniでdpiを検出するにはどうすればよいですか?
http://www.apple.com/ipad-mini/specs/
:
物理画面のミリメートル(またはインチ)の数を知る必要があるため、dpi(またはより正確にはppi)値を直接取得することはできません。
まず、それがiPad miniであるかどうかを検出して、アプリにまだ知られている各デバイスのdpi値を保存する必要があります。
執筆時点として、このコードは、iPadのミニを検出:
#include <sys/utsname.h>
NSString *machineName()
{
struct utsname systemInfo;
if (uname(&systemInfo) < 0) {
return nil;
} else {
return [NSString stringWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
}
}
// detects iPad mini by machine id
+ (BOOL) isIpadMini {
NSString *machName = machineName();
if (machName == nil) return NO;
BOOL isMini = NO;
if ( [machName isEqualToString:@"iPad2,5"]
|| [machName isEqualToString:@"iPad2,6"]
|| [machName isEqualToString:@"iPad2,7"])
{
isMini = YES;
}
return isMini;
}
新しいマシンIDが後に導入される可能性がありますので、それはfutureproofではないのですが、ないfutureproof方法がありません。
iPad miniで163dpiを使用している場合は、コメントの上のリンクを使用して、iPhoneとiPadのdpiを計算します。
[この回答](http://stackoverflow.com/a/7922666/759019)が役立つ可能性があります。 –
[iPhone/iPad/iPod Touchのppiを実行時に取得する]の複製が可能(http://stackoverflow.com/questions/3860305/get-ppi-of-iphone-ipad-ipod-touch-at-runtime) –
なしどちらの答えもiPadMiniを処理する – AlexWien