0

请帮助我,我从来没有用 xib 为 iPhone/iPad 制作通用 UIViewControllers。如何使用 .m 和 .h 文件以及 _iphone.xib 和 _ipad.xib 创建类?

我试图手动创建 xib 并为视图创建出口,但在推动这个控制器后,我遇到了未捕获的错误:

*由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“-[UIViewController _loadViewFromNibNamed:bundle:] 加载了“FullNewsViewController”笔尖,但未设置视图出口。

谢谢!

4

3 回答 3

2

从您发布的错误中我可以看出,问题是您没有正确设置 NIB 的所有者属性。

您的 nib 文件似乎没有正确的文件所有者,因此无法在视图控制器上设置视图。

打开笔尖,然后转到File's Owner屏幕的左侧。将 Custom Class 属性设置为 viewController 的类。再次右键单击File's Owner并将视图属性拖到您的视图中。

于 2012-10-11T09:23:16.597 回答
1

你应该遵循 Apple iOS App Programming Guide

创建通用应用程序

在这里,您将获得一些技巧,如何创建通用应用程序。

希望这会帮助你。

于 2012-10-11T09:20:05.063 回答
0

查看此链接可能会对您有所帮助...

http://elusiveapps.com/blog/2011/10/converting-iphone-apps-to-univeral-ipad/

如果视图控制器可以很容易地用于两者....

MyViewController.h
MyViewController.m
MyViewController~ipad.xib
MyViewController~iphone.xib

将两个 xib 文件中的 File's Owner 设置为您的 UIViewController 子类,并连接视图+您想要连接的任何其他内容。

当我初始化我的视图控制器时,这就是所需要的

MyViewController *viewController = [[MyViewController alloc] init];
// OR
MyViewController *viewController = [[MyViewController alloc] initWithNibName:nil bundle:nil];

UIViewController 的 Apple 文档指出,如果您提供与视图控制器同名的 xib,它将被加载。~ipad 和 ~iphone 确保加载了正确的 xib。

于 2012-10-11T09:22:38.343 回答