ios - 检测 iOS 设备类型

标签 ios objective-c iphone ipad

在我的应用程序(用 Objective-C 编写)中,如何检测设备是 iPhone、iPad 还是 iPhone5?

if([[UIDevice currentDevice]userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    // [iphone] or [itouch]
} else {
    // [ipad]
}

最佳答案

您可以轻松检测具有以下条件的 iphone、iphone5 和 iPad(但不是 iTouch!iTouch 被视为带有此代码的 iPhone!):-

 if([[UIDevice currentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPhone)
 {
     if ([[UIScreen mainScreen] bounds].size.height == 568)
     {


     }
     else
     {
         //iphone 3.5 inch screen
     }
 }
 else
 {
        //[ipad]
 }

更新

您也可以使用 MACRO 或定义变量来检查是 iPhone5、iPhone4 还是 iPad,例如 Bellow:-

#define isiPhone5  ([[UIScreen mainScreen] bounds].size.height == 568)?TRUE:FALSE
#define isiPhone  (UI_USER_INTERFACE_IDIOM() == 0)?TRUE:FALSE

示例:-

if(isiPhone)
     {
         if (isiPhone5)
         {


         }
         else
         {
             //iphone 3.5 inch screen
         }
     }
     else
     {
            //[ipad]
     }

关于ios - 检测 iOS 设备类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13139430/

相关文章:

ios - 在 objective-c 中的 UIIImageView 上显示加密图像

ios - 自定义 UINavigationBar 高度 : how do I adjust the content views?

ios - 如何将 Apple Music 上的所有可用播放列表添加到我的项目中

ios - 未调用 prepareForSegue

iphone - iOS - 使用 NSEntityDescription 和 NSManagedObjectContext 编辑数据库条目

iphone - 如何从 NSString 中获取整数的数字?

ios - 如何在 ios 13 中显示的 View Controller 下方设置系统背景颜色

objective-c - 使用 Swift 将 CLLocation 转换为 GeoPoint

Objective-C:导入类别标题的最佳实践

iphone - UIWebView Cookies