ios 正在检查设备是否为iPad

m1m5dgzv  于 2022-12-24  发布在  iOS
关注(0)|答案(7)|浏览(245)

这个代码有什么问题?我希望能够检查用户当前使用的设备是否是iPad,但它一直给我错误。

if (UIUserInterfaceIdiom == UIUserInterfaceIdiomPad)
{
    //do stuff
}
velaa5lx

velaa5lx1#

在Swift中,您可以用途:

if UIDevice.current.userInterfaceIdiom == .pad {
    //do stuff
}
dgsult0t

dgsult0t2#

你必须cheack的条件whether设备是iPhone/iPad

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    {
//do ur  ipad logic
}else
{
//do ur  iphone logic
}
polhcujo

polhcujo3#

如果您使用swift,请使用此

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.Pad)
    {
      // device is ipad
    }
    else
    {
        //  device is iPhone
    }
syqv5f0l

syqv5f0l4#

/* 提供UI_USER_INTERFACE_IDIOM()函数是为了在部署到低于3.2的iOS版本时使用。如果要部署的iPhone/iOS的最早版本是3.2或更高版本,则可以直接使用-[UIDevice userInterfaceIdiom]。*/
最好使用UIDevice.current.userInterfaceIdiom,除非你支持超级旧的iOS。
可能的情况如下:

public enum UIUserInterfaceIdiom : Int {
    case unspecified

    @available(iOS 3.2, *)
    case phone // iPhone and iPod touch style UI

    @available(iOS 3.2, *)
    case pad // iPad style UI

    @available(iOS 9.0, *)
    case tv // Apple TV style UI

    @available(iOS 9.0, *)
    case carPlay // CarPlay style UI
}
v9tzhpje

v9tzhpje5#

我的应用程序在iPad上只能作为iPhone应用程序运行,但我仍然需要检测设备是否是iPad,以隐藏应用程序中与Apple HealthKit相关的某些功能,iPad上没有这些功能。

extension UIDevice {
    var isPad: Bool {
        get {
            return UIDevice.deviceInfo.lowercased().containsWord("ipados")
        }
    }
}
hof1towb

hof1towb6#

目标:

if (UIDevice.currentDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad){
        //do awesome objc stuff!;
    }
whlutmcx

whlutmcx7#

您可以使用

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

相关问题