2009-07-04 75 views
0

您好我有一個小疑問,我有3個nib文件:iPhone改變到另一個視圖BEGINNER]

  1. ConfigureContacts.xib
  2. CallContactsViewController.xib
  3. 的MainWindow.xib

申請開始時我要:

[window addSubview:callContactsViewController.view]; 
[window makeKeyAndVisible]; 

以便加載CallContactsViewController.xib。

裏面CallContactsViewController.xib有一個按鈕,當按下跳轉到:

-(IBAction)configureContacts:(id)sender 
{ 
    configureContacts = [[ConfigureContacts alloc] initWithNibName:@"ConfigureContacts" bundle:nil]; 
    [self.view addSubview:configureContacts.view]; 

} 

的想法是,當按下按鈕就轉移到「未來之窗」,這是其他的.xib文件。這是通過xibs改變的正確方式嗎?我在這裏浪費記憶嗎?

在此先感謝

回答

0

ConfigureContacts ViewController子類? (它看起來是)

如果是這樣,你實際做這樣的事情

-(IBAction)configureContacts:(id)sender 
{ 
    configureContacts = [[ConfigureContacts alloc] initWithNibName:@"ConfigureContacts" bundle:nil]; 

    [self pushviewController:configureContacts animated:YES]; 
} 

我想這是你想要做什麼。

[self.view addSubview:configureContacts.view]應該能夠正常工作,但它只會改變視圖的一部分,並讓您保持在同一個「窗口」中。

+0

是ConfigureContacts是一個ViewController子類。 使用pushviewController會產生警告,CallContactsViewController可能不會響應-pushViewController。 運行時產生一個異常: [CallContactsViewController pushviewController:animated:]:無法識別的選擇器發送到實例0xd1b2a0 – daniel 2009-07-05 02:54:47

0

pushViewController是來自UINavigationController的一種方法,用於管理層次結構viewController。這聽起來可能是你想要在這裏做的事情,在這種情況下,添加一個UINavigationController到你的代碼可能是要走的路。

或者,您可以實現第三個擁有CallContrats和ConfigureContacts的UIViewController,並負責在它們之間進行切換。

查看從開始iPhone開發3的sample code。具體來說,請查看程序「06 View Switcher」和「09 Nav」。我認爲他們會得到您要查找的代碼。

相關問題