【问题标题】:Adding iPad XIB/VIEW to a "View Based Application" in iOS 4在 iOS 4 中将 iPad XIB/VIEW 添加到“基于视图的应用程序”
【发布时间】:2011-09-23 17:52:42
【问题描述】:

我在 XCode4 中创建了一个基于视图的应用程序,并尝试按照 Apple 的预期方式进行代码和 UI 设计。

所以我在 AppNameViewController.xib 中设计了 UI,它运行良好;现在我想将它作为一个在 iPad 上运行的 UNIVERSAL 应用程序启用。我将 App-Target>>Summary>>DevicesiPhone 更改为 Universal,奇迹般地 XCode 自动创建了 MainWindow-iPad。 xib (Apple,非常好...),但是由于我在 AppNameViewController.xib 而不是 MainWindow.xib 上设计了应用程序的第一个屏幕我在 iPad Simulator 上运行该应用程序我得到了这个丑陋的屏幕,其中我的 UI 对象大小和位置被扭曲(它们的大小仍然为 iPhone 设置,所以它们都在屏幕的左上角崩溃了)。

在我以前的应用程序中,我使用下面出现的代码来区分 AppNameViewControllerForIPHONE.xibAppNameViewControllerForIPAD.xib;它是从 AppDelegate.m 文件完成的,但是在新的 XCode View Based Application 模板中,AppDelegate 没有通过 initWithNibName 方法全部。

我在 XCode 3 上使用的代码不能在 XCode 4 上使用:


if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {

viewController = [[AppViewController alloc] initWithNibName:@"AppViewControllerIPAD" bundle:[NSBundle mainBundle]];

}

else {

viewController = [[AppViewController alloc] initWithNibName:@"AppViewControllerIPHONE" bundle:[NSBundle mainBundle]];

}

很长的问题......仍然,有人知道应该如何在这里完成吗?我应该在哪里设计 iPad UI,或者有没有一种方法可以轻松地将 iPhone xib 转换为 iPad UI?

【问题讨论】:

  • 我很困惑 - 在代码上方,听起来您需要帮助确定要加载哪个 nib。在代码下方,听起来您在问如何设计 iPad UI。请澄清您的问题。
  • RyanR,我创建了一个基于视图的应用程序并在设备系列中选择了“iPhone”。我在 xib 文件上设计了 UI。现在我想添加一个 iPad xib,但我不知道如何将应用程序定向到它。
  • 您必须migrate the application 才能使用通用应用程序。

标签: iphone ipad xcode4 xib


【解决方案1】:

对于 info.plist 中的 NSMainNibFile 键,您必须遵循为 Universal Applications 指定的新命名方案(Apple 中的惯用语)。例如,如果您将 NSMainNibFile 设置为“MainWindow-iPhone”,则 ipad 的 xib 将是“MainWindow-iPad”。

对于基于视图的应用程序中的视图应该保持相同的命名约定(我现在无法测试,正在安装新的 xcode)。

【讨论】:

    猜你喜欢
    • 2011-09-25
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多