Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 是否向基于视图的应用程序添加导航效果?_Iphone_Objective C_Uiview_Navigationcontroller - Fatal编程技术网

Iphone 是否向基于视图的应用程序添加导航效果?

Iphone 是否向基于视图的应用程序添加导航效果?,iphone,objective-c,uiview,navigationcontroller,Iphone,Objective C,Uiview,Navigationcontroller,我已经创建了基于视图的应用程序,按下按钮时需要在视图之间导航。 所以在第一视图控制器中,我为按下的按钮创建了动作 -(IBAction)loadSecondView:(id)sender { SecondView *sView = [[SecondView alloc]initWithNibName:@"SecondView" bundle:nil]; [self.navigationController pushViewController:sView animated:YES

我已经创建了基于视图的应用程序,按下按钮时需要在视图之间导航。 所以在第一视图控制器中,我为按下的按钮创建了动作

-(IBAction)loadSecondView:(id)sender
{
    SecondView *sView = [[SecondView alloc]initWithNibName:@"SecondView" bundle:nil];
    [self.navigationController pushViewController:sView animated:YES];
    [sView release];
}
这个代码不起作用,我遗漏了什么

我可以通过
[self.view addSubview:sView]实现这一点但我需要导航效果。

提前感谢。

您不能将
UIView
实例挂接到导航控制器上,它们不是这样工作的

查看Xcode中的“基于导航的应用程序”模板,了解导航控制器是如何工作的

隐藏导航栏时可以使用视图控制器:

[[self navigationController] setNavigationBarHidden:YES animated:NO];
然后,您可以将
ui按钮
实例映射到可按下或弹出视图控制器的选择器,同时隐藏导航栏

这些按钮实例是视图控制器的
view
属性的子视图


隐藏导航栏有助于提供一种错觉,即您没有使用导航控制器,同时提供导航控制器的所有功能。

Alex是对的,如果您只创建一个“基于视图的应用程序”项目,则没有创建UINavigationController,因此当您在其上推送某个内容时,不会发生任何事情,这很正常


您必须创建一个UINavigationController并使主视图成为其根视图控制器,然后您可以在其上推送一个新的视图控制器。

我有一个解决方案

在基于视图的应用程序中,appdelegate文件为、视图控制器创建对象,并将该视图添加到主窗口,要执行我们的任务,请删除mainwindow.xib中的控制器并添加一个UINavigation控制器,向其创建一个对象,并将outlet连接到该对象,然后将此导航控制器视图添加为子视图


很好。

谢谢。我一直在寻找这项技术的确认。