1. ホーム
  2. アイオス

[解決済み】iOSがiPadを使用しているかどうかを検出する。

2022-03-31 05:21:37

質問

iPhoneとiPod Touchで動作するアプリがあり、Retina iPadでも動作するのですが、1つだけ調整する必要があります。現在のデバイスがiPadであるかどうかを検出する必要があります。ユーザーがiPadを使用しているかどうかを検出するには、どのようなコードを使用すればよいでしょうか。 UIViewController それに応じて何かを変更するのでしょうか?

どのように解決するのですか?

デバイスがiPadであるかどうかを確認する方法は、かなり多くあります。これは私のお気に入りの方法で、デバイスが実際にiPadであるかどうかを確認することができます。

if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
{
    return YES; /* Device is iPad */
}

私の使い方

#define IDIOM    UI_USER_INTERFACE_IDIOM()
#define IPAD     UIUserInterfaceIdiomPad

if ( IDIOM == IPAD ) {
    /* do something specifically for iPad. */
} else {
    /* do something specifically for iPhone or iPod touch. */
}   

その他の例

if ( [(NSString*)[UIDevice currentDevice].model hasPrefix:@"iPad"] ) {
    return YES; /* Device is iPad */
}

#define IPAD     (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
if ( IPAD ) 
     return YES;

Swiftの解決策については、この回答を参照してください。 https://stackoverflow.com/a/27517536/2057171