Iphone改为另一种观点[BEGINNER]

时间:2009-07-04 23:22:02

标签: iphone

嗨,我有一个小疑问,我有3个笔尖文件:

  1. ConfigureContacts.xib
  2. CallContactsViewController.xib
  3. 的MainWindow.xib
  4. 当应用程序启动时,我会这样做:

    [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文件。这是通过xib更改的正确方法吗?我在这里浪费记忆吗?

    提前致谢

2 个答案:

答案 0 :(得分:0)

是ConfigureContacts ViewController子类? (看起来很像)

如果是这样你实际上会做这样的事情

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

    [self pushviewController:configureContacts animated:YES];
}

我猜这就是你想要做的事。

[self.view addSubview:configureContacts.view]应该也可以正常工作,但是它只会改变部分视图并让你保持相同的“窗口”。

答案 1 :(得分:0)

pushViewController是UINavigationController的一个方法,用于管理分层的viewControllers。听起来这可能就是你在这里尝试做的事情,在这种情况下,可能需要在代码中添加UINavigationController。

或者,你可以实现第三个拥有CallContrats和ConfigureContacts的UIViewController,并负责在它们之间切换。

从Beginning iPhone Development 3中查看sample code。具体来说,查看程序“06 View Switcher”和“09 Nav”。我认为他们将拥有您正在寻找的代码。