【问题标题】:why does an iOS universal app need to have two different xib files?为什么 iOS 通用应用程序需要有两个不同的 xib 文件?
【发布时间】:2013-04-25 15:02:00
【问题描述】:

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

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

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

【问题讨论】:

    标签: iphone ios ipad ios-universal-app


    【解决方案1】:

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

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

    不鼓励复制您的 iPhone 用户界面不仅仅是出于美观的原因 - iPhone 最终通常包含一个深度且令人困惑的导航树,用于 iPad 可以在单个屏幕上显示的任务。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

        这些分数与屏幕的物理尺寸有关,新旧iPhone相似。

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

        【讨论】:

          【解决方案4】:

          复制xib 文件并将其重命名为filename~ipad.xibios6.1 中对我很有用

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-10-13
            • 2012-07-04
            • 2013-08-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-09-27
            相关资源
            最近更新 更多