【问题标题】:problem in displaying a xib as Ipad in universal application在通用应用程序中将 xib 显示为 Ipad 的问题
【发布时间】:2010-09-18 10:09:36
【问题描述】:

我有一个已经在运行目标 OS 3.1 的 iphone 应用程序。我正在尝试将其转换为通用应用程序。 我不会更改模型,只会更改 xib。 所以我在 IB 中编写了 ipad xib,然后我去 info.plist 并添加 MainIpad Nib 以使 ipad 指向正确的 MainIpad.xib。 我还将项目信息中的 Target Device Family 设置为 ipad/iphone。

这似乎还不够,每当我运行 ipad 模拟器时,我总是将 MainIpad.xib 视图调整为 iphone,实际上它只是在 ipad 中显示一个 iphone。我还尝试将 CGRect 手动设置为 ipad 大小。结果是更大的视图仍被剪辑到 iPhone 中。

你能指出我做错了什么并建议在通用应用程序中转换的正确方法吗?

谢谢

【问题讨论】:

    标签: iphone cocoa-touch ipad universal-binary


    【解决方案1】:
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
        if(!settingsController)
            settingsController = [[SettingsController alloc]initWithNibName:@"ipadSettingsController" bundle:nil];
        [self.navigationController pushViewController:settingsController animated:YES]; 
        [settingsController release];
    }else {
        if(!settingsController)
        settingsController = [[SettingsController alloc] initWithNibName:@"SettingsController" bundle:nil];
        [self.navigationController pushViewController:settingsController animated:YES]; 
        [settingsController release];
    }
    

    【讨论】:

    • 我认为用户界面习语在 os 3.1 中不起作用,我会检查但我可以用不同的方式对其进行排序。但我不明白,我需要把这样的代码放在哪里?您是在告诉我,我需要为创建的每个新 ipad xib 编写一个新控制器?除了现有的代码之外,我还应该在其中添加哪些新代码?
    • 抱歉,误会了。它不是一个新的控制器,而是一个新的视图,我已经在做。问题出在其他地方,ipad 视图被正确找到并加载,但它总是被剪辑到 iphone 视图中。
    • 使用另一个针对 ipad 的 xib。
    【解决方案2】:
    【解决方案3】:

    你能指出我在做什么吗 错误并提出正确的方法 在通用应用中转换?

    正确的方法?这很简单。来自 iPad 编程指南的第 20 页:

    重要提示:您应该始终使用 升级 iPad 的当前目标 命令迁移现有项目。 不要尝试手动迁移文件。

    根据您的问题描述,您似乎尝试手动迁移文件。

    我对您的建议是:在开始迁移之前重新使用您的项目副本。 (您确实在开始转换之前保存了项目的副本,就像一个优秀的程序员应该做的那样,对吧?)

    【讨论】:

    • 是的,该项目是在 svn 上,所以从这个意义上说没有问题。但与其回到版本控制,只需进入项目信息-->架构,并删除所有不必要的条目就足够了。然后再次转换目标。问题消失了......但最初的建议是正确的:-)
    【解决方案4】:

    使用另一个针对 ipad 的 xib。

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 2011-03-14
      • 1970-01-01
      • 2013-08-05
      • 2011-09-07
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多