1

我知道有多个问题在问同一个问题,但他们的解决方案都不适合我。

我制作了一个自定义的 viewController 类(Home),并单独制作了一个 .xib。(实际上,我将有 2 个笔尖——一个用于加载 ipad 版本,另一个用于 iphone)。

当我尝试实例化家庭类的实例时,我得到了问题中提到的错误。

在 xib 文件中,我所做的只是将 viewcontroller 对象从库中拖到屏幕上,它会自动在文件所有者和第一响应者下方添加一个 viewcontroller 图标。然后我进入 viewController 对象的检查器并将类从 viewController 更改为 Home。

我从解决方案中发现的下一步是连接检查器的视图插座。我不完全确定我应该将它连接到什么。我发现的解决方案是将其连接到视图图标,但我再次看到的是文件所有者、第一响应者和 vc 对象。它与任何一个都没有连接

这是我放在应用程序委托中的内容

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

 Home *homePage = [[Home alloc] initWithNibName:@"HomeIpad" bundle:nil]; 

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:homePage];
[self.window addSubview:navController.view];
[self.window makeKeyAndVisible];
return YES;
}
4

3 回答 3

2

我建议你使用 Xcode 的 File->New->New File->Cocoa Touch->UIViewController subclass->with XIB 来创建 Nib 作为用户界面(这样做两次,一次选中Targeted for iPad )。我发现这是创建和连接 XIB 最可靠的方法。

即使您想为同一个控制器创建两个 XIB,也可以使用任何临时名称(例如 tempvc)创建第二个 VC 子类。现在,将 tempvc.xib 重命名为 HomeIpad.xib。右键单击 HomeIpad.xib 并选择 Open As->Source code。在源代码中,搜索 tempvc 并将其替换为所有出现的控制器的名称。现在一切都应该很好。

于 2011-08-18T08:12:23.260 回答
1

问题是对于文件的所有者,我没有将类设置为 Home

于 2011-08-19T22:48:14.663 回答
0

您不需要拖动视图控制器。只需拖动一个 UIView 并将文件的所有者视图连接到此 UIView。

于 2011-08-18T07:06:49.873 回答