Ios 处理iPad小屏幕尺寸

Ios 处理iPad小屏幕尺寸,ios,ipad-mini,Ios,Ipad Mini,新款iPad Mini的屏幕尺寸为7.9英寸。它有视网膜显示器吗?它会自动扩展现有的XIB和故事板吗?还是我们必须创建两个版本 我们处理它的方式是否与处理iPhone5类似 如何创建定义或条件以查看设备是否运行iPad Mini?为iPad 2分辨率构建应用程序。新的iPad Mini是非视网膜的,分辨率为1024x768,这意味着已经在iPad 1或iPad 2上运行的应用程序将自动在iPad Mini上运行。如果你的应用程序在iPad 1或iPad 2上运行,它将像在新的iPad Mini上

新款iPad Mini的屏幕尺寸为7.9英寸。它有视网膜显示器吗?它会自动扩展现有的XIB和故事板吗?还是我们必须创建两个版本

我们处理它的方式是否与处理iPhone5类似


如何创建定义或条件以查看设备是否运行iPad Mini?

为iPad 2分辨率构建应用程序。新的iPad Mini是非视网膜的,分辨率为1024x768,这意味着已经在iPad 1或iPad 2上运行的应用程序将自动在iPad Mini上运行。

如果你的应用程序在iPad 1或iPad 2上运行,它将像在新的iPad Mini上一样运行。mini上没有视网膜显示。从应用程序的角度来看,它与iPad2完全相同

NSLog(@"%@",[[UIDevice currentDevice] model]);
编辑:有人问如何确定应用程序何时在iPad mini上运行。没有对此进行API检查。屏幕大小没有帮助
UI\u USER\u INTERFACE\u IDIOM()
没有帮助。除非有人真的有一个,否则无法知道UIScreenMode pixelAspectRatio是否有任何不同(可能与iPad2相同)

这只剩下一种可能性-从
uname()
获取
机器
,并对该值进行硬编码检查。这从来都不是理想的方法。在写这篇文章时,我们不知道它的价值是什么。也许iPad5,x假设第四代iPad是iPad4,x


编辑:到目前为止,我看到一份报告说,iPad mini返回iPad2,5(是的,这是一个两个逗号5)以及iPad2,6和iPad2,7作为机器名。

应用程序可以正常工作。但是如果你有一些非常小的UI元素。由于屏幕尺寸减小,您可能希望重新访问它们。

您不必做任何不同的操作。它应该像苹果提到的那样自动工作。分辨率仍然与iPad相同。

我认为苹果公司高级副总裁菲尔·席勒(Phil Schiller)在推出iPad Mini时说得最好(大约在主题演讲开始53:00)

我们选择的屏幕尺寸是多少?为什么?团队工作非常努力 想想这个。我们想要一台能够运行所有功能的iPad 这是一款为iPad编写的令人惊叹的软件,开发人员没有 做任何工作

他接着说:

…像素更容易记住,因为它们正是 一样。原版iPad和ipad2是1024x768,新款iPad是1024x768 ipadmini是1024x768这意味着为其创建的所有软件 iPad在iPad Mini上的工作方式不变。

总之,为了回答你的问题,iPad Mini没有视网膜显示器,你不需要做任何额外的工作。iPad Mini将使用您为iPad创建的故事板或xib

那么就检测而言,我还没有找到任何证据来证明这一点(因为它们还没有发布),但我愿意打赌下面的内容将输出“iPad Mini”

编辑:

NSLog(@"\nMachine ID: %@\nModel: %@\nLocalized Model: %@",machineName(),[[UIDevice currentDevice] model],[[UIDevice currentDevice] localizedModel]);

NSString *machineName()
{

    struct utsname systemInfo;
    uname(&systemInfo);

    return [NSString stringWithCString:systemInfo.machine
                              encoding:NSUTF8StringEncoding];
}
在我的16GB iPad Mini(仅限Wifi)上,返回:

机器ID:iPad2,5
型号:iPad
本地化型号:iPad


iPad mini使用与非视网膜iPad相同的分辨率,iOS将使用1x图形。 请参阅此链接。。。
ipad mini的图像与ipad 1和2的图像相同。 但建议您在视网膜屏幕上也使用@2x图像。因为,一旦你的应用进入应用商店,你就无法阻止人们在带有视网膜显示屏的ipad上下载它

所以在这个时候,你必须同时为视网膜和非视网膜制作图像


在程序上,ipad视网膜显示器不需要单独的xib文件。保持imageName@2x.png对于所有图像资产来说也是如此。

如果iPad Mini和非retina iPad的屏幕尺寸将是相同的,那么您不能使用类似于用于确定设备屏幕是iPhone 5还是iPhone 4的东西:

#define IS_WIDESCREEN5 ( [ [ UIScreen mainScreen ] bounds ].size.height == 568 )
#define IS_WIDESCREEN4 ( [ [ UIScreen mainScreen ] bounds ].size.height == 480 )
因此,对于iPad Mini和非视网膜iPad,请执行以下操作:

#define IS_PAD ( [ [ UIScreen mainScreen ] bounds ].size.height == 512 )
对于retina iPad的do:

#define IS_RETINA_PAD ( [ [ UIScreen mainScreen ] bounds ].size.height == 1024 )
这将区分这两种类型的屏幕,而不需要为缩放目的精确定位确切的模型。另一种方法是使用自动布局,但是如果没有它,我会有更好的控制感

我希望这对你问题的第二部分有所帮助。祝你好运:)

要检测iPad Mini(任何型号),我正在使用以下代码(在iOS 10.x上测试):


我不明白为什么人们对此投反对票。它必须是正确的。屏幕越小,UI元素的物理尺寸就越小。每英寸像素数为163,而iPad2为132。因此,一个30像素乘30像素的UI元素在iPad2上是0.227平方英寸,而在iPadMini上只有0.184平方英寸。假设这种差异会导致iPad mini上应用程序的可用性降低是完全合理的。这是正确的。即使在相同的像素尺寸下,元素也会比原来的iPad更小。向上投票。@ColdLogic与iPad和iPad相比,像素尺寸实际上有所减少,但与iPad 3相比有所增加。然而,在iOS中,我们很少(从不)谈论像素,而是点,这不是问题所在。问题是,在这个新的、更小的屏幕上,小UI元素会显得更小+1我要投这个票。屏幕上的按钮在物理上会更小,但用户的手指不会变小。文本在物理上也会变小,但用户的视力将保持不变。我已经有客户要求在iPad mini上采用与全尺寸iPad不同的设计。就在今天,当联邦快递将iPad mini送到办公室时,苹果发布了一个新版本的Xcode,其中包括“iPad mini支持”。我还不知道这到底意味着什么,但希望它能在程序上区分迷你和标准尺寸的iPad。如果你遵循苹果的指导方针,将按钮保持在最少44x44个点,那么
- (BOOL)isIPadMini {
   return [[UIDevice currentDevice].name hasPrefix:@"iPad Mini"];
}