在iOS应用中显示不同的XIB / NIB

时间:2011-06-29 19:52:12

标签: objective-c ios xib nib

我有多个笔尖(xib)文件,我希望用户在点击按钮时看到另一个文件。我在找什么:

- (IBAction)buttonTap {
//Code for showing a different nib goes here
}

我无法弄清楚如何做到这一点。我可以在nib文件中显示不同的视图就好了,但我不能让它显示不同的笔尖。当用户点击按钮时,如何显示不同的笔尖?

任何帮助表示赞赏!谢谢!

1 个答案:

答案 0 :(得分:2)

我处理实际xib之间切换的方式,我确信有很多方法可以完成同样的事情,就是让我的App Delegate充当我的观点之间的路由中心。

我订阅了我的App Delegate来接收现有视图按钮按下的事件。当它收到切换视图的请求时,例如按下按钮,我会这样做:

- (void) showLogin
{  
    LoginViewController *loginViewController = [[LoginViewController alloc]
                                                   initWithNibName:@"LoginViewController" bundle:nil];

    // Show
    self.loginViewController = loginViewController;
    [loginViewController release];

    self.window.rootViewController = self.loginViewController;
}

我将rootViewController设置为我试图显示的视图。它不会释放旧控制器,而只是替换正在显示的视图。您可以放置​​更多逻辑来确定它是否已经显示,关闭其他视图等。用大多数简单的术语来说,这对我有用。