【问题标题】:Is it possible to push a view controller without navigation controller?是否可以在没有导航控制器的情况下推送视图控制器?
【发布时间】:2011-09-11 12:25:03
【问题描述】:

我刚刚开始编写一个应用程序,我想在没有导航控制器的情况下编写它,将会有一些 viewController EX:aviewController、bviewController ...

是否可以使用导航控制器从 aViewController wiyhout 推送到 b 类的视图控制器(bviewController)?

换句话说,

此代码是否有任何不同的选项:

[self.navigationController pushViewController:self.bViewController animated:YES];???

【问题讨论】:

  • “在没有导航控制器的情况下将 A 推到 B”是什么意思?你在设计什么样的奇怪 UI 行为?

标签: iphone objective-c xcode ipad uiviewcontroller


【解决方案1】:

您可以使用 UINavigationController 并推送它,然后隐藏导航栏。

【讨论】:

  • 没有帮助 - 链接、建议、出现这种情况的原因?
【解决方案2】:

您可能正在寻找这个吗?

    [self.bViewController.navigationController setNavigationBarHidden:YES animated:YES];

【讨论】:

  • 他要求在没有导航控制器的情况下这样做。
  • 为什么这是个坏主意。我引用:“可以从 aViewController 推送到 b 类的视图控制器 (bviewController)”。没有人会看到导航栏,但功能保持不变。 -1 真的有必要吗? @rckoenes 这个问题仍然很模糊。
  • @rckoenes - 我们应该告诉他他应该使用导航控制器。 @Schoob - 你被否决了,因为你的回答没有很好地解释你的意思。
  • @deanWombourne 确实,您应该使用导航控制器,但是如果没有我告诉您的情况,要求这样做是不同的。但是你的正确答案应该是你为什么不想使用导航控制器。
  • '我要告诉你不同的人' - 你是他被征求意见的人 :) - 阅读这个weblogs.asp.net/alex_papadimoulis/archive/2005/05/25/… 看看我为什么' d 问他而不是回答!
【解决方案3】:

你显示一个模态视图:

 [self presentModalViewController:someViewController animated:YES];

过渡动画在您要显示的视图控制器上设置。

正如@deanWombourne 所述,您为什么不想使用导航控制器?如果您正在推动视图控制器,那么导航控制器就是要走的路。

如果您不想要导航栏,您可以隐藏它并自己弹出视图控制器:

// Remove the current visible view controller:
[self.navigationController popViewControllerAnimated:YES];

【讨论】:

  • 我认为我应该将所有类的控制器导航到主窗口,所以我问了这个问题,但我看到它不需要一个导航控制器就足够了,所以现在对我来说没问题,谢谢,但无论如何我仍然想知道这是否可能?
  • 在我看来,这是正确的答案 - 它回答了用户(和我的!)的问题,而不建议对项目进行重大更改。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 2014-01-11
  • 2011-12-16
  • 1970-01-01
  • 2017-08-09
  • 1970-01-01
相关资源
最近更新 更多