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

标签 iphone ios ipad ios-universal-app

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

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

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

最佳答案

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

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

复制您的 iPhone UI 不仅仅是出于美学原因——iPhone 通常最终包含一个深沉且令人困惑的任务导航树,而 iPad 可以在单个屏幕上显示。

关于iphone - 为什么 iOS 通用应用程序需要有两个不同的 xib 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10060788/

相关文章:

ios - 如何防止链接的电话号码在 iOS 上断线?

javascript - WKWebView 加载的 HTML 文件中嵌入的 JavaScript 是否可以访问?

iphone - 从 UIViewController 访问 Storyboard

iphone - 有 2 个图像选择器和 didFinishPickingMediaWithInfo 问题

iphone - 我们如何检查被用户或 iOS 杀死的 ios 应用程序

iphone - 如何取消 iPhone 中的本地通知

iphone - 无法在 iPhone 中使用客户端证书进行身份验证

ios - 检查用户是否有效 Parse (Swift)

iPhone 和 iPad 的 iOS 分辨率

iphone - 为什么 [response expectedContentLength] 总是返回 -1