0

我的 iPhone 应用程序的根控制器是内置代码的,我现在正在使应用程序通用并想要链接 iPad Xib。问题是 iPhone 屏幕仍然加载而不是 ipad xib

我的家庭控制器名为IChomeContoller.h 和 m

至今:

  1. 添加了 iPad xibIChomeContoller~ipad.xib

  2. 将其设置为我IChomeContoller在 IB的班级

  3. 连接new referencing outlet到 IB 中的文件所有者

我也在本示例的 appdeleage 形式的代码中尝试了它,但仍然没有发生

我所有的其他屏幕都是用xibs构建的,发现ipad xib没问题

4

3 回答 3

1

在 Xcode 中单击您的项目并选择您的目标(应该是底部的)。在那里,如果它是一个通用应用程序,您应该会看到一个用于 iPhone 和 iPad 的主屏幕 Xib 的下拉框。为 iPad 选择一个不同的,应该可以解决问题。

编辑

好吧,试试这个:

在您的主视图控制器中,由您的 appdelegate 在 init 方法中初始化的那个:

- (id)init {

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        self = [super initWithNibName:@"<Your iPad xib file here>" bundle:nil];
    }
    else {
        self = [super initWithNibName:@"<Your iPhone xib file here>" bundle:nil];
    }

    if (self) {

        // Everything else you got in your init function
    }

    return self;
}
于 2012-10-02T10:33:56.463 回答
1

已排序

 - (id)init
{

[[NSBundle mainBundle] loadNibNamed:@"ICHomeController" owner:self options:nil];

在根视图控制器中添加

于 2012-10-04T18:26:03.777 回答
0

您确定IChomeContoller~ipad.xib已添加到您的目标吗?在 Xcode 中,在 Project Navigator(左侧)中选择文件,确认它已在 File Inspector(右侧)的 Target Membership 部分中选中。

于 2012-10-02T10:35:59.470 回答