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 のコピーを作成し、デバイスに応じてロードする方法について混乱しています。コードから nib をロードしていませんが、内部的に呼び出されています。助けてください

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 に答える