使用xcode 4.51为iphone应用程序进行通用构建

时间:2012-11-28 05:45:31

标签: iphone ipad uiviewcontroller xib universal

我有一个旧的项目,它为每个UIViewControler使用XIB。这是用于I Phone的,但是现在我想用IMP作为墙壁的通用版本来制作那个项目。问题是当我改变了将类型构建为Universal并使用类似

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

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

1 个答案:

答案 0 :(得分: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
}