0

我有一个旧项目,它为每个 UIViewControler 使用 XIB。那是为 I Phone 设计的,但现在我想用通用版本制作该项目,该项目适用于 Iphone 和 IPad 一样的墙。问题是当我将构建类型更改为通用和使用的编码,如

if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
    {
 // ipad coordinates
    }
else
{
 //iphone coordinates
}

这在 iphone 和 ipad 上的显示是正确的,但在 ipad 上,按钮没有在整个按钮上发生点击事件,而只是在按钮的一小部分上发生。虽然我没有加载 Nib,但它在内部采用了装箱的 iphone xib 文件,我认为就是这样为什么它的按钮行为不符合 ipad 视图。我很困惑我应该做什么?如何为 Ipad 制作 XIB 的副本并根据设备加载它们。这里要提到的是,我没有从我的代码中加载任何笔尖,而是在内部调用它。请帮忙

4

1 回答 1

0

对于universal应用程序,您可以制作 2 xib
1 - > yourView_iPhone
2 - > yourView_iPad

xib并根据你的加载每个idiom

if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{
    yourView  *obj = [[yourView alloc]initWithNibName:@"yourView_iPad " bundle:nil];

    // ipad coordinates
}
else
{
    yourView  *obj = [[yourView alloc]initWithNibName:@"yourView_iPhone " bundle:nil];

    //iphone coordinates
}
于 2012-11-28T06:32:42.990 回答