我是iOS开发的新手,我对通用应用程序感到困惑。
我们可以使用相同的代码,相同的xib文件用于iPhone 4(视网膜)和以前的iPhone,但为什么我们应该为iPhone和iPad编写两个不同的xib?有什么区别?
对于iPhone和视网膜iPhone,我们使用“点”代替坐标的像素。为什么我们不能在iPhone和iPad上使用类似的方法?
答案 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