1

iPad.XIBを追加し、ソースコードエディターモードでIBCocoaTouchFrameworkをIBIPadFrameworkに置き換えることで、開発したxibをiPad固有のxibに変換しました。それでも私のビューは全画面をカバーしておらず、ビューの周りにたくさんの空きスペースがあり、それらのビューの解像度も良くありません。上記以外のことをする必要がありますか。

編集:

iPad用の新しいプロジェクトを作成しましたが、正常に動作しています。古いプロジェクト(iPhone)にiPad用の新しいxibを追加すると、動作しません。変更する必要のあるプロジェクトに関連するものはありますか?

ありがとう。

4

4 に答える 4

2

小さなビューが表示される場合は、アプリが iPad プラットフォームをサポートしていない、つまり汎用アプリではないことを前提としています。新しい unversal アプリを作成し、そこにすべての viewcontroller クラスと xib を追加します。– プリンス

于 2012-12-18T05:34:14.487 に答える
1

You should check the device first using bellow code and now you create two xib with same class one xib for ipad and second for iphone and load with device wise..

  if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) 
     {
         //iphone
     }
     else
     {
         //ipad
     }

FOR EXAMPLE

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

 if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) 
    {



        masterViewController = [[cntrMasterViewController alloc] initWithNibName:@"cntrMasterViewController_iPhone" bundle:nil];
        self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
        // loadingView =[LoadingView loadingViewInView:masterViewController.view:@"Please Wait.."];
        //masterViewController.view.userInteractionEnabled=NO;




        [self.window makeKeyAndVisible];
         self.window.rootViewController = self.navigationController;
        [self.window addSubview:self.navigationController.view];

        } 
    else 
    {
        cntrMasterViewController *masterViewController = [[[cntrMasterViewController alloc] initWithNibName:@"cntrMasterViewController_iPad" bundle:nil] autorelease];
        self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];


        UIViewController *viewController1 = [[cntrMasterViewController alloc] initWithNibName:@"cntrMasterViewController_iPad" bundle:nil];

          [self.window makeKeyAndVisible];
          self.window.rootViewController = self.navigationController;
        [self.window addSubview:self.viewController1.view];

}
于 2012-12-15T05:58:56.463 に答える
1

ビューのサブビュー フレームを再度設定して、iPad の画面に収まるようにする必要があります。iPadのxibまたはプログラムで実行し、nitinの方法を使用して、作業しているデバイスに基づいてビューをロードします

于 2012-12-15T06:06:38.240 に答える
0

xibあなたが入れている名前が正しいことを確認するだけです

yourViewController = [[yourViewController alloc] initWithNibName:@"yourIpadNibName" bundle:nil];   

ただ焦点を合わせるyourIpadNibName

于 2012-12-15T08:30:59.663 に答える