升级到通用应用程序 - mainWindow-iPad 的大小为 320x480

Posted

技术标签:

【中文标题】升级到通用应用程序 - mainWindow-iPad 的大小为 320x480【英文标题】:upgrade to universal app - size of mainWindow-iPad is 320x480 【发布时间】:2010-08-21 10:40:06 【问题描述】:

我有以下问题。 我有一个 iPhone 应用程序并想升级到通用 当我这样做时,我得到了预期的 MainWindow-iPad.xib。 但是窗口的大小被硬编码为 320x480。 另外,窗外也看不到风景。 我红色,这应该是自动 iPad 大小的,所以我假设我做错了什么。 我到底错过了什么? 提前致谢

【问题讨论】:

【参考方案1】:

是的,UIWindow 对象的尺寸被硬编码为 iPhone 屏幕的尺寸。这也让我感到困惑,直到我意识到有一个调整它大小的选项:在 Interface Builder 的 .xib 中选择UIWindow 对象...在“属性”窗格中,确保选中“启动时全屏”复选框.

正如 St3fan 所说,您可能希望为您的 iPad 构建一个特定的主窗口 .xib。

查看我的答案:

UITabBar unresponsive on iPad

【讨论】:

现在我很困惑 :-) 我有这个 MainWindow-iPad.xib。启动时全屏已启用 - 但仍为 320x480。所以我添加的子视图不能更大,对吗?顺便说一句:在 MainWindow-iPad.xib 中还有我原来的视图控制器。因此,当我启动 iPad 模拟器时,它基本上会在 iPad 模拟器的左上角向我显示 iPhone 版本。 (至少它仍然功能齐全 :-) 对不起,如果我不明白这一点 :-)【参考方案2】:

我明白了。我通过删除自动创建的 ipad xib 来修复它,然后在界面生成器中打开原始 xib 并从菜单中选择转换为 iPad。然后 ni 用 -iPad 名称保存它并将其添加到 corredt 目标。

【讨论】:

嘿,成功了 - 非常感谢。但是还有一件事>我有这个 MainWindow/iPad.xib 并且在 mz plist 中是主 nib 文件基本名称 iPad 设置为其名称。但是当我在 iPad 模拟器中启动时,它似乎仍然将 iphone 版本加载到左上角。 好的。我通过使用 IB 创建 ViewController 的 iPad 版本来修复它,然后保存类,保存 nib,然后从头开始构建 MainWindow-iPad.xib 的 nib 内容。感谢所有的帮助:-)【参考方案3】:

您可能还需要创建MainWindow-iphone.xibMainWindow-ipad.xib

【讨论】:

嗯。行。 xcode 为我创建了 MainWindow-iPad.xib,对吗?我有原始的 mainWindow.xib。到目前为止还好吗?【参考方案4】:

我在 GLES 应用程序中遇到了类似的问题 - 使用 EAGLView,其方式与所有示例类似,但希望支持 iphone3、iphone4 和 ipad。

在我从 [EAGLView initWithCoder] 创建的上下文中,我强制 eaglLayer 的矩形匹配主屏幕,这适用于 iphone 和 iphone4(即给了我 320x480 或 640x960 gl 表面),但对于 ipad,这给了我一个 768x1024 的表面,现在被裁剪为 640x960。 事实证明,“启动时全屏”选项似乎是在视图(在我的情况下为 EAGLView)initWithCoder 之后应用的。

我的解决方案是在 [EAGLView initWithCoder] 中什么都不做,仅在调用 AppDelegate 的 didFinishLaunchingWithOptions 后,在 layoutSubviews 调用中实际初始化我的视图。

HTH, 叉子

【讨论】:

以上是关于升级到通用应用程序 - mainWindow-iPad 的大小为 320x480的主要内容,如果未能解决你的问题,请参考以下文章

将我的 iPhone 项目升级到通用。 CADisplayLink 现在只有 30fps

WinForm通用自动更新器AutoUpdater项目实战

WinForm通用自动更新器AutoUpdater项目实战

WinForm通用自动更新器AutoUpdater项目实战

sbt 升级到 0.13.13 后通用错误中的 sbt 映射

gitlab从8.6.5升级到8.11.7(补丁版本通用更新指南)