为什么iOS通用应用需要有两个不同的xib文件?

时间:2012-04-08 06:10:18

标签: iphone ios ipad ios-universal-app

我是iOS开发的新手,我对通用应用程序感到困惑。

我们可以使用相同的代码,相同的xib文件用于iPhone 4(视网膜)和以前的iPhone,但为什么我们应该为iPhone和iPad编写两个不同的xib?有什么区别?

对于iPhone和视网膜iPhone,我们使用“点”代替坐标的像素。为什么我们不能在iPhone和iPad上使用类似的方法?

4 个答案:

答案 0 :(得分:3)

对于一些简单的应用程序,可以设计您的iPhone UI并为iPad重复使用相同的xib文件。只需在XCode中选择目标并将主界面文本从 iPhone / iPod部署信息复制到 iPad部署信息。如果您使用的是主要演示文稿,请复制它。然而,iPad并不是简单地将所有内容从320 * 480/640 * 960 iPhone屏幕扩展到768 * 1024/1536 * 2048 iPad屏幕。 @elgarva正确地说这看起来很糟糕。相反,iPad版本使用您的自动调整遮罩来调整每个视图的大小或重新定位。

如果您的所有观看次数都可以被认为是左中右或中上下,这可能会有效。如果你有更复杂的东西,你需要设计一个单独的iPad界面。

出于审美原因,不仅仅会劝阻复制你的iPhone用户界面 - 对于iPad可以放在一个屏幕上的任务,iPhone通常最终会包含一个深度且令人困惑的导航树。

答案 1 :(得分:0)

主要原因是,如果您只是缩放UI上的元素以适应更大的屏幕,它看起来不会很好......而且您不需要做任何事情来使它工作,它会自动执行如果您的应用仅限iPhone并安装在iPad上(如果用户选择),则适合您。

使用不同的XIB可以重新排列应用程序,并将其视为可以利用更大的屏幕。你可以在一个iPad视图上显示比iPhone上3个不同屏幕更多的信息.​​..所以,你的iPhone应用程序可以显示基本信息并在用户点击它时展开它,而你的iPad版本可以显示所有信息加载,加上看起来不错但不需要的额外图形,在iPhone屏幕上没有意义。

PS:如果你正在开始一个新的应用程序,我强烈建议你使用故事板,如果你的应用程序不会有很多视图...它很容易上手,它可以让你看到你的应用程序流一瞥。

答案 2 :(得分:0)

ratina显示器只是原始iPhone分辨率的两倍。如果您没有为视网膜显示提供单独的图形,那么系统只会将资源的分辨率提高一倍。

这些点与屏幕的物理尺寸有关,在新旧iPhone中类似。

对于iPad,屏幕尺寸会发生变化。这意味着它的点数尺寸将与iPhone不同。

答案 3 :(得分:0)

复制xib文件,并将其重命名为filename~ipad.xib,对我来说非常有用ios6.1