1

我通过添加 iPad.XIB 并在源代码编辑器模式下将 IBCocoaTouchFramework 替换为 IBIPadFramework,将我开发的 xib 转换为 iPad 特定的 xib。仍然我的视图没有覆盖全屏,视图周围有很多空白空间,并且这些视图分辨率也不好,除了我上面提到的之外,我还需要做任何额外的事情吗?

编辑:

我已经为 iPad 创建了新项目,它工作正常,如果我在我的旧项目(iPhone)中为 iPad 添加新的 xib 它不起作用,有什么与我们需要更改的项目相关的吗?

谢谢。

4

4 回答 4

2

如果出现小视图,我假设您的应用程序不支持 ipad 平台,即它不是通用应用程序。创建新的通用应用程序并在其中添加所有视图控制器类和 xib。– 王子

于 2012-12-18T05:34:14.487 回答
1

您应该首先使用以下代码检查设备,现在您创建两个具有相同类的 xib,一个用于 ipad,第二个用于 iphone,并加载设备明智的..

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

例如

- (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 回答