自动调整 iPhone xib 应用程序到 ipad 的大小

Posted

技术标签:

【中文标题】自动调整 iPhone xib 应用程序到 ipad 的大小【英文标题】:Auto-resize iPhone xib app to ipad 【发布时间】:2013-08-06 06:56:54 【问题描述】:

我用 5-6 个屏幕构建了一个“使用 xib”的 iPhone 应用程序。现在我想为 iPad 自动调整显示器的大小。我正在使用 xcode 4.6。

我是否必须使用情节提要重新构建整个代码?这将是一项非常乏味的工作。有什么解决办法吗?

【问题讨论】:

你在使用自动布局吗? 不,自动布局未选中。如果我使用自动布局,代码会在设备中崩溃,或者如果我尝试在旧版本模拟器中运行 storyboard 是管理 ipad 或 iphone xib 的一个不错的选择,如果设备 > ios5 iPhone Interface Builder and Delegates的可能重复 【参考方案1】:

您只需要为 iPad 创建新的 xib 文件并将它们命名为 ViewController_iPhone.xibViewController_iPad.xib 并且在切换视图时,只需输入一个简单的条件

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    ViewController *viewController = [[ViewController alloc] initWithNibName:
                 @"ViewController_iPad" bundle:nil];
 else 
    ViewController *viewController = [[ViewController alloc] initWithNibName:
                 @"ViewController_iPhone" bundle:nil];

【讨论】:

把这个if-else条件到处放不累吗?【参考方案2】:

使用自动布局,一切都会自动完成

如果不是autolayout,那么制作 2 xib 将是一个更好的选择。使ipadxib 同名,并将~ipad 放在类名之后。

如果你 xib 名字是 myClass.xib 并创建另一个像 myClass~ipad.xib

【讨论】:

@VaibhavSaran :我没有使用自动布局,而是通过在 xib 名称中使用 ~iphone 和 ~ipad 后缀为 iphone 和 ipad 使用单独的 xib。我的问题是,我可以为 iPhone 5 等更长的 iPhone 屏幕使用像 ~-568h 这样的后缀吗?

以上是关于自动调整 iPhone xib 应用程序到 ipad 的大小的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 xib + iPhone 中的 AutoSizing 属性

更新为 iPhone 5 制作的 XIB 以与 iPhone 6 和 iPhone 6 Plus 一起使用

iphone上面的ipa程序如何备份到电脑上

如何为 iPhone 5 显示器加载 xib

在不使用自动布局的情况下调整 iPhone 5 屏幕尺寸

iphone到ipad xib文件更改