【问题标题】:Hoew to implement Navigation on button click如何在按钮单击时实现导航
【发布时间】:2011-04-18 03:49:20
【问题描述】:

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


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

在按钮修饰事件中。 但是当我运行应用程序时,按钮触摸没有任何反应。没有显示警告或错误。 我在其他应用程序中这样做过,但在这里不起作用。

【问题讨论】:

    标签: iphone uinavigationcontroller uibutton


    【解决方案1】:

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

    Objective-C 允许向 nil 对象发送消息,因此代码不会崩溃,并且在运行时什么也不做。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-28
      • 2016-05-17
      相关资源
      最近更新 更多