2011-07-12 115 views
4

自近期以来,视图控制器自动加载具有确切名称的nib文件(如果存在)。UIKit:查看控制器自动加载nib文件

时,将其推到导航控制器左右,笔头变得无我做过一件装我可以简单地初始化一个视图控制器像

[[[ViewController alloc] init] autorelease] 

,然后。

这适用于我的应用程序,除了一个视图控制器,我无法弄清楚为什么。所有视图控制器自动加载它们的nib都可能是在Xcode 4中创建的,而唯一一个无法工作的视图控制器是在Xcode 3中创建的。有没有隐藏的开关?我发现在nib,nib本身的文件设置中找不到任何东西,在视图控制器的源代码中没有任何东西可以解释它。

回答

7

iOS有一个区分大小写的文件系统,因此请确保大小写匹配。

仔细检查是否为您正在构建的目标启用了笔尖。

检查您没有loadView方法。

检查the default handling for the nibName property

+0

看来我发现问题:自动笔尖加载无效的视图控制器是Three20框架的TTViewController的子类。 TTViewController重写loadView方法,而这反过来似乎停止自动笔尖加载。因此,一种解决方案是自己重写loadView方法,如: - (void)loadView {super loadView]; NSString * nibName = NSStringFromClass([self class]); [[NSBundle mainBundle] loadNibNamed:nibName owner:self options:nil]; } – Raphael

0

还要检查,看看你正在呼吁init定制类未实现init做多自称有nilnibName以外的东西。

0

另一件事是,如果你想自动加载nib文件,你不应该重写UIViewController。