我已经将UIViewController分类为一个新的类PageViewController(我在写一个简单的书籍应用程序)。我想添加一个从nib文件加载的新视图,并使用下面的代码。有用。为什么initWithNibName不能用于我的UIViewController子类?
PageViewController *viewController1 = [[UIViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];
但是,第一行是错误的,因为我应该在PageViewController上调用alloc。当我纠正它(下面)时,代码会编译,但xib文件不会加载,并且视图只是透明的。
PageViewController *viewController1 = [[PageViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];
的PageViewController initWithNibName方法已被取消注释并与缺省,设置自= [超级initWithNibName:nibNameOrNil束:nibBundleOrNil]。
我试过的东西: 在Page1 nib文件中,我试过改变PageViewController和UIViewController之间的File Owner类。是的,我记得之后将它连接到视图插座。
请帮忙!我很难过。
可能错误是在你的overrided initWithNibName方法 – oxigen 2009-07-01 11:44:53
这只是默认: - (ID)initWithNibName:(的NSString *)nibNameOrNil包(一个NSBundle *)nibBundleOrNil { 如果(自= [超级initWithNibName:nibNameOrNil束(@“in pageviewcontroller custom init”); //定制初始化 \t \t NSLog(@“in pageviewcontroller custom init”); } return self; } – niels 2009-07-01 16:33:08