我有一个叠加层,其中我创建了一个包含完成按钮的工具栏。完成按钮的选择器名称为 doneButtonPressed。
现在,当我单击完成按钮时,如何获得新的 nib 视图?假设我创建了一个名为 TestViewController 的 nib。
-(void)doneButtonPressed {
//What goes here?
}
我有一个叠加层,其中我创建了一个包含完成按钮的工具栏。完成按钮的选择器名称为 doneButtonPressed。
现在,当我单击完成按钮时,如何获得新的 nib 视图?假设我创建了一个名为 TestViewController 的 nib。
-(void)doneButtonPressed {
//What goes here?
}
如果要从 nib 实例化 UIViewController,可以使用以下代码行:
UIViewController *viewControllerName = [[UIViewController alloc] initWithNibName:(NSString *) bundle:(NSBundle *)];
然后,您可以使用以下方式呈现视图:
[self presentModalViewController:(UIViewController *) animated:(BOOL)];
现在,如果您正在使用情节提要,那么您可以从情节提要对象中实例化视图控制器。
不确定这是否是您正在寻找的,但您可以将您的视图变成“容器视图”。为此,您需要创建子视图,然后将它们切换出去。当我想要一个菜单来控制不同的视图时,我这样做了。
[self.view insertSubview:(view you want to insert) atIndex:0];
然后当你想把它关掉时:
[[[self.view subviews] objectAtIndex:0] removeFromSuperview];
[self.view insertSubview:(view you want to replace with) atIndex:0];
已编辑
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneButtonPressed:)];
- (void)doneButtonPressed {
SkipQViewController *skipQ = [[SkipQViewController alloc] initWithNibName:@"Name" bundle:bundleName];
[self presentModalViewController:skipQ animated:YES];
}
如果这不起作用,请尝试使用:SkipQViewController *skipQ = [[SkipQViewController alloc] init];
实例化您的视图控制器。
-编辑-
像这样实例化视图控制器:SkipQViewController *skipQ = (SkipQViewController *)[[UIViewController alloc] initWithNibName:@"sqvc" bundle:nil];