当打开segue时,UINavigationController上的swift菜单项正在消失

时间:2016-08-25 21:44:30

标签: ios swift uinavigationcontroller uinavigationitem

我有一个带2个按钮的UINavigationController(菜单项)。当我打开segue并移动到细节视图时,按钮消失 - 只显示后退按钮。

我需要保留左侧的菜单项:

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

这是UINavigationController的常见行为,因为它只与它显示的视图控制器相关

永远不要指望UINavigationBar具有以下含义:网页主菜单有。想象一下,就像NavigationBar一样,带有BarButtonItems的NavigationItem总是与情况有关,即实际显示的视图。

导航这个词代表的是从这里导航到某个地方的能力,而不是用于你应用的UI的一些导航工具。

你应该留下后退按钮的原因是:用户应该知道,他是详细视图。而这对于Apple产品的理念非常重要 - 要直观。这就是为什么Apple设备从未有过硬件后退按钮的原因。这是应用程序中最常用的约定,因此如果要访问主菜单,首先需要从详细信息中恢复。

我不建议违反这些实际规则。

答案 1 :(得分:1)

  

我有带2个按钮的UINavigationController

不,不。导航控制器导航栏中的按钮属于该导航控制器的当前子视图控制器。特别是,它们属于@interface Custom_UIActivity (custom) - (UIActivityType)activityType; @end @implementation Custom_UIActivity (custom) - (UIActivityType)activityType { return @"horses"; }

所以你有一个带两个按钮的视图控制器。

你有另一个视图控制器(详细视图控制器)没有有这两个按钮。

所以...如果你想让这些按钮出现在细节视图控制器中,也可以给细节视图控制器提供这些按钮!

更好的架构是将“永久按钮”放在工具栏而不是导航栏中。但是你仍然需要这些两个视图控制器的navigationItem按钮。