Ios 如何从巴布托主义转换观点?

Ios 如何从巴布托主义转换观点?,ios,uibarbuttonitem,Ios,Uibarbuttonitem,我有一个覆盖图,其中我创建了一个包含“完成”按钮的工具栏。 完成按钮选择器的名称为doneButtonPressed 现在,当我单击“完成”按钮时,如何获得新的nib视图?假设我创建了一个名为TestViewController的nib -(void)doneButtonPressed { //What goes here? } 如果要从nib实例化UIViewController,可以使用以下代码行: UIViewController *viewControllerName = [[UI

我有一个覆盖图,其中我创建了一个包含“完成”按钮的工具栏。 完成按钮选择器的名称为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]以实例化视图控制器

-(void)doneButtonPressed {

//What goes here?

}
-编辑-


实例化视图控制器如下:
SkipQViewController*skipQ=(SkipQViewController*)[[UIViewController alloc]initWithNibName:@“sqvc”bundle:nil]

您想要临时模式视图还是全新的视图?您正在使用哪种类型的navigationcontroller?我想要全新的视图,请记住,我不想使用导航堆栈。工具栏按钮位于我访问相机时显示的工具栏覆盖上。单击“完成”后,我会将视图定向到TableViewController。所以你可以想象我更喜欢什么。这也没什么好运气。从巴布托教徒那里提出新观点的一般格式是什么?我觉得这很简单,但我觉得我忽略了简单的解决方案。你可以让按钮切换到另一个视图控制器,或者你可以让按钮调出一个视图控制器。另一个选择是提供一个popover视图,但是我认为这不是您想要的。您需要在“完成”按钮上实现一个操作。将“完成”按钮连接到IBAction方法。我没有通过IB创建该按钮,它是通过编程创建的,因为我的覆盖和主覆盖上的工具栏覆盖是通过编程创建的。因此,巴布托教也是通过编程制作的。忘掉这一切,假设你有一个巴布托式的程序。您有一个名为testviewcontroller的nib。从BBI调出testviewcontroller时,您的代码行是什么?由于:您在按下后添加了,选择器出现故障。我点击按钮,它会保持在选中的模式(就像被按住一样),然后崩溃。以下是错误日志:SecondViewController doneButtonPressed::发送到实例0x16abf0 2012-07-31 16:28:57.339[2440:707]***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[SecondViewController doneButtonPressed::发送到实例0x16abf0的选择器未识别”。现在,如果我删除冒号并运行它,则“完成”按钮会响应(NSlog测试),但不会切换视图。如果done按钮根据放置在doneButtonPressed方法中的NSLog作出响应,则表示视图控制器的实例化不正确。你能提供更多关于你的项目的细节吗,或者发布一些代码?看看您是如何实例化所有内容的,这会很有帮助。