我已經將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