0

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

我们可以为 iPhone 4(retina) 和以前的 iPhone 使用相同的代码、相同的 xib 文件,但为什么我们要为 iPhone 和 iPad 编写两个不同的 xib?有什么不同?

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

4

4 回答 4

3

对于一些简单的应用程序,可以设计您的 iPhone UI 并为 iPad 重用相同的 xib 文件。只需在 XCode 中选择您的 Target 并将Main Interface文本从iPhone / iPod Deployment Info复制到iPad Deployment Info。如果您使用的是Main Storyboard,请也复制它。然而,iPad 并不是简单地将 iPhone 屏幕从 320*480 / 640*960 扩大到 768*1024 / 1536*2048 的 iPad 屏幕。@elgarva 正确地说这看起来很糟糕。相反,iPad 版本使用您的自动调整大小的蒙版来调整每个视图的大小或重新定位。

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

复制你的 iPhone UI 不仅仅是出于美观的原因——iPhone 通常最终包含一个很深且令人困惑的导航树,用于 iPad 可以在单个屏幕上放置的任务。

于 2012-04-08T06:33:07.540 回答
0

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

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

PS:如果你正在开始一个新的应用程序,如果你的应用程序没有很多视图,我强烈建议你使用故事板......它真的很容易上手,它让你一目了然地看到你的应用程序流程。

于 2012-04-08T06:17:47.113 回答
0

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

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

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

于 2012-04-08T06:28:13.300 回答
0

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

于 2013-04-25T05:59:04.183 回答