如何在按钮单击时实现导航

时间:2010-09-28 07:39:16

标签: iphone uinavigationcontroller uibutton

我的项目首先使用Three20框架工作来处理导航。但由于一些问题,我要删除三个部分。所以我重新设计我的应用程序。  我试图做的是在用户触摸按钮时显示详细视图。我创建了一个新的主窗口,因为之前没有。它没有导航控制器。  


DetailViewController * detailViewController = [[DetailViewController alloc] init]; [self.navigationController pushviewController:detailviewController animated:YES]

在buttos touch up事件中。 但是当我在按钮触摸时运行app nothings hapens。没有显示警告或错误。 我在其他应用程序中完成了这个,但它在这里不起作用。

1 个答案:

答案 0 :(得分:1)

由于您没有使用UINavigationController,因此UIViewController的navigationController属性将保持为零。 “编译方式”没有问题,因为属性存在,但编译器不知道属性将保持为零,因此不会显示警告/错误。

在Objective-C中允许向nil对象发送消息,因此代码不会崩溃并且在运行时不会执行任何操作。

如果你想要提高你的代码和运行时,您需要将根UIViewController放在UINavigationController中。一旦UIViewController显示在UINavigationController中,该属性将自动设置为UINavigationController。

编辑:您可以使用类似的内容,而不是显示someController,将其“封装”在UINavigationController中并显示该控制器。

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:someController];